Працюємо з 09:00 до 19:00 без вихідних
Самовивіз не працює до 03.08

На этот раз мы поговорим о том, как программировать Arduino, не обычным способом, не через привычное USB подключение, а через прямое прошивание процессора.

Вам возможно не прийдется прибегать к этому постоянно, но мы поговорим об этом всё равно потому, что когда-нибудь вы всё же захотите установить загрузчик  поменять, обновить его, и вам будет полезно знать каким образом это делается.

Это не обычное прикладное программирование которым мы обычно занимаемся. Загрузчиком называется заводская прошивка микроконтроллера. И загрузчик это всего лиш общее наименование программного обеспечения. И он относится не только к Arduino, а к любым видам интегрированных систем.

Микроконтроллер обычно содержит в себе код загрузчика, записанный в флеш-память. Он позволяет записывать пользовательскую программу в  флеш и EEPROM-память. Именно поэтому у вас есть возможность загружать скетчи. Вы загружаете свой код, который должен скопироваться или запрограммироваться в флеш-память или в постоянную память EEPROM, но обычно в flash, и дальше должно начаться выполнение программы внутри atmega 328, который и предназначен для этого. Он общается и с USB-интерфейсом и выполняет свою задачу. Вот это и есть основная работа загрузчика.

У загрузчика есть и ряд других функций, но это его основная задача, позволять флеш-памяти быть перезаписываемой, а так же постоянной памяти EEPROM. Так же он заботится такими задачами как перезагрузка и другими, но это его основная задача.

Загрузчик управляет USB-коммуникацией, и позволяет программировать. Загрузчик конечно не может перепрограммировать себя. Поэтому, если вам нужно обновить загрузчик, вы не можете просить загрузчик перепрограммировать себя. И поэтому, если вы хотите обновить загрузчик вы не можете сделать это через обычный USB-интерфейс используя загрузчик. Вместо этого вам потребуется использовать другой интерфейс.

Для этой цели используют интерфейс , который называется ICSP. Это интерфейс к плате, к специальным контактам на плате, через которые можно заливать загрузчик. Теперь вы можете запрограммировать что-угодно, но это всего лиш такой себе более прямой маршрут. Маршрут в обход USB. Для программирования микроконтроллеров на плате и единственный случай, когда вам возможно понадобится прибегнуть к интерфейсу ICSP, если вы захотите обновить свой загрузчик. Потому-что иначе если вы захотите обновить код аутентификации, вы будете использовать обычный маршрут USB, а ICSP порты разработаны для того, что-бы вы могли напрямую обновить загрузчик, а так же прошивку.

По существу прошивка производится напрямую. Поэтому если вы взглянете на плату, то увидите два ICSP-порта потому, как там два процессора.


Там стоит ATmega328 тот, который главный. А так же там стоит ATmega16U2, который используется для USB-коммуникаций. И в него тоже загружена прошивка.  У него есть выполняемая программа. И, если вы хотите запрограммировать один из них, вам нужно использовать их ICSP-порты, а значит их собственные ICSP-контакты.

Вот вы видете на картинке одну группу ICSP-контактов справа ATmega16U2. И другую группу ICSP-контактов микроконтроллера ATmega328. И что вам прийдется сделать, если вы захотите перепрограммировать эти контроллеры, так это использовать специальный программатор, который вам прийдется купить отдельно.

И вы подключите его к этим контактам. И тогда вы сможете использовать его, и различные программные приложения, для программирования прошивки на обоих чипах.

В общем эти контакты доступны вам для использования. Они вам могут понадобиться только для перезаписи загрузчика, и на этих уроках мы таким заниматься не будем. Если вам удастся обновить загрузчик, то вам уже эти занятия ни к чему. Если вы способны перезалить новый загрузчик, тогда вам эти уроки уже не понадобятся - вы уже не новичок. И вам уже нужно развиваться дальше. Но если нет, тогда эти уроки для вас. И вообще перезаливкой прошивки лучше не увлекаться, просто в будущем можно заливать обновления прошивки.


Автор профессор Ian Harris из Калифорнийского университета

Перевод Гресько Евгений


Написать отзыв

Примечание: HTML разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо
ST-Link V2 программатор

ST-Link V2 программатор

Программатор для микроконтроллеровАлюминиевый корпусПоддерживает следующие версии программ для проек..

79.88грн.

Графический LCD экран Nokia 5110

Графический LCD экран Nokia 5110

Графический индикатор Nokia5110 для различных проектов на любительских контроллерах. LCD основан на ..

85.71грн.

Паста флюс RMA-223

Паста флюс RMA-223

Флюс для пайки в виде пасты. Легко наносить на место пайки. Сильно облегчает пайку радиодеталей и по..

29.17грн.

Электронный термостат на нагрев или охлаждение

Электронный термостат на нагрев или охлаждение

ОписаниеПрограммируемый терморегулятор предназначен для контроля температуры в диапазоне от -50 °С д..

83.54грн.

Винт М2,5х8мм нержавейка

Винт М2,5х8мм нержавейка

Винт из нержавейки с резьбой М2,5 для крепления элементов любительских проектовДлина резьбы 8 мм..

0.67грн.