Бутлоадер как полноценная замена программатора
Периодически общаюсь с начинающими микроэлектронщиками и регулярно слышу одну и ту же проблему — чем зашить микроконтроллер. Данный вопрос тормозит процесс изучения и вовлечения молодёжи в изучение микроконтроллеров. Естественно, что людям со стажем или тем кто давно в данной отрасли крутится непонятно, что тут такого сложного. Взял, да собрал простейший программатор громова или воспользовался LPT-портом и пятью проводками. Но для одних начинающих простых схемы вызывают подозрение, а другие боятся сжечь порт или микроконтроллер. Но я нашел отличный выход и прошиваю друзьям в микроконтроллер бутлоадер от Мартина Томаса.
Это замечательное свойство микроконтроллеров от Atmel необходимо использовать чуть ли не с завода, но этого не происходит по не понятным мне причинам. Но как всё это работает?
У микроконтроллеров серии Mega есть возможность выделить в конце флэшпамяти область для загрузки небольшого программного кода, от 128 слов до двух килослов. В среднем же достаточно 512 слов для работы полнофункционального бутлоадера который понимается стандартным программным обеспечением AVR студии. Для того, чтобы микроконтроллер понял, что он может работать с этой загрузочной областью необходимо выставить фьюзбиты в определённом порядке. Во-первых, необходимо указать размер области. Во-вторых, необходимо указать на активность этой функции.
Если воспользоваться бутлоадером от Мартина Томаса, то его необходимо скомпиллировать под свой микроконтроллер, указать метод вызова бутлоадера: по кнопке, по таймеру и вроде там ещё был какой-то выбор. Так же необходимо указать тактовую частоту контроллера, чтобы корректно выставить тайминги и скорость UART. Ну и указать используемую скорость UART-порта.
Для общения с микроконтроллером и заливки в него прошивки необходим любой шнурок с виртуальным COM-портом. Часто используются шнурки от сотовых телефонов, там отрезается кабель в сторону штекера телефона и делается разъём для подключения к микроконтроллеру. Можно поступить профессиональней и припаять USB-интерфейс на своей плате.
Кстати, технологию бутлоадера активно используют такие проекты как Ардуино, что позволило этой платформе получить масштабное признание и распространение.
В любом случае я считаю, что необходимо развивать и продвигать идею использования бутлоадеров для микроконтроллеров среди начинающих разработчиков.
Тэги: микроконтроллеры
Отредактировано:2020-09-10 19:28:57
Вот, кстати, чем мне нравится Ардуино, так это тем, что родную ардуиновскую IDE можно смело слать лесом, причем, как на АВРовской Ардуине, так и на АРМовской (взяв оттуда лишь файлик бутлоадера), а писать на сях, или даже на ассемблере. В сухом остатке качесвенно сделанная отладочная плата по цене, фактически равной микроконтроллеру. По крайней мере с arduino due это так. При стоимости платки меньше 1000 рублей сам микроконтроллер стоит в районе 7-8 баксов.