====== Прошивка LPC2xxx по последовательному порту ====== Микроконтроллеры ''NXP LPC2xxx'' имеют встроенный загрузчик, позволяющий прошивать память программ (flash) через последовательный порт (UART). Для входа в режим загрузчика во время аппаратного(?) сброса на определённых ногах микроконтроллера должны присутствовать логические уровни: * Ноль на P0.14 для LPC210x * Ноль на P2.10 для LPC2368, LPC2478 * ... ===== LPC21ISP ===== Наиболее оптимальный вариант для прошивки микроконтроллераконтроллера через последовательный порт - воспользоваться консольной программой {{:tutorial:lpc21isp_148x.c.gz|lpc21isp}}. Программа состоит из одного файла с исходным текстом и легко собирается различными компиляторами. К примеру сборка с помощью gcc состоит из одной строчки: gcc lpc21isp_148x.c -o lpc21isp Использование программы так же не должно вызвать проблемм: ./lpc21isp -control -verify lpc2368_blink.hex /dev/ttyS0 57600 12000 Здесь ключ ''-control'' указывает, что линии ''DTR'' и ''RTS'' управляет сбросом и вводом процессора в режим загрузчика соответственно. Ключ ''-verify'' заставляет сделать проверку правильности записи flash. Далее следуют: * ''lpc2368_blink.hex'' - имя файла прошивки. * ''/dev/ttyS0'' - порт к которому подключён микроконтроллер. * ''57600'' - скорость в бодах на которой будет идти обмен с МК. * ''12000'' - тактовая частота МК в КГц (например кварцевого резонатора). Ключ ''-term'' позволяет сразу после прошивки войти в режим терминала. Понадобится это может в том случае, если МК использует тот же порт для программирования и для вывода какой-то отладочной информации или диалога с пользователем. ./lpc21isp -control -term lpc2368_blink.hex /dev/ttyS0 57600 12000 Вы можете скачать простейший пример для того, что бы попробовать ''lpc21isp'' * {{:tutorial:lpc2368_blink.hex.gz|lpc2368_blink.hex.gz}} - готовый бинарник (Собирался с помощью тулчейна от [[soft:arm-toolchain|CodeSourcery]]). * {{:tutorial:lpc2368-blink.tar.gz|lpc2368-blink.tar.gz}} - исходный код. Пример мигает светодиодами подключёнными к портам с P0.4 по P0.7 (4шт.) и посылает строку со счётчиком в UART0. ==== Добавление поддержки нового МК ==== [[:todo]] ===== LPCflash ===== [[http://code.google.com/p/lpcflash/|LPC flash]] ===== LPC2K_PGM ===== Гуёвая тулза http://www.pjrc.com/arm/lpc2k_pgm/ {{tag>tutorial arm lpc flash isp programmer}}