Просто я пишу в жж в-основном про танцы, либо изредка что-то общечеловеческо-понятное =) Про рабоче-микроконтроллерское пишу совсем редко, и так и ожидаю, что мало кто поймет (тема действительно довольно узкая и техническая), но народ в теме всё же находится =)
Как ни странно, я понял, но не смешно :) 2 j3v: не зарекайся. Если б мне давали по доллару за необъявленную переменную, по центу за забытый конструктор и по центу за забытые дебаг-вставки, я был бы не миллионером, но карманные деньги точно были бы всегда :)
В любом случае, впредь я буду четко следить, где я включаю те или иные штуки, влияющие на возможность прошить устройство. И уж точно не буду ставить их безусловный запуск без задержек в начале программы =)
Больше всего меня интересовало, как будет проишвать IDE Arduino если программа, прошитая в нее работает с serial портом. Оказалось просто - первые полсекунды оттесняя всех в сторонку работает бутлоадер, а уже потом передает руль скетчу, если прошивать нечего :). Так что твоя идея с таймаутом-самое то.
Да, любой бутлоадер всегда делит ресурсы контроллера, те или иные (uart, радио, эзернет, доступ к внешней памяти - что угодно, с чего можно тянуть прошивку) и потому никогда не должен пересекаться по времени с основной прогой, чтобы не возникало конфликтов. Поэтому загрузчик всегда запускается первым, после своей работы полностью передает управление главной программе. Внутри загрузчика всегда есть проверка на выполнение какого-либо условия, в зависимости от которого он либо завершается, либо начинает работать. Вот тут условие - прием данных по уарту в течение первых 0.5 секунд =) Можно, кстати, даже посмотреть, чего именно он ждет - любых данных, или какой-то особой команды =)
Reply
Reply
Reply
Reply
2 j3v: не зарекайся. Если б мне давали по доллару за необъявленную переменную, по центу за забытый конструктор и по центу за забытые дебаг-вставки, я был бы не миллионером, но карманные деньги точно были бы всегда :)
Reply
Reply
Так что твоя идея с таймаутом-самое то.
Reply
Reply
Reply
Reply
Leave a comment