LPC-Link

Как многим заинтересованным лицам известно, хитрые платы LPCXpresso снабжены мега-дебаггером LPC-Link. Выпуск среды разработки code red в нативном виде под Linux позволил нам, сирым и убогим, познать радость пользования этим самым LPC-link’ом.

В общих и целых чертах мы имеем следующее:

Микроконтроллер задействованный в LPC-link начисто лишен какой бы то ни было долговременной памяти. Фирмварь в него надо грузить каждый раз после перетыкания и перед тем как начать шить target контроллер нам надо проверить, что там вообще на usb шине творится, в плане девайсов.

dfu-util -l покажет нам, есть ли среди USB-девайсов LPC-link жаждущий прошиться фирмварью (если он уже прошился - не отзовётся).

Где искать dfu-util и пр. и пр. и пр. спросите вы? Очень просто, когда вы ставили Code Red, то указывали каталог для установки. По умолчанию это будет /usr/local/LPCXpresso/, а dfu-util будет лежать в /usr/local/LPCXpresso/bin/. Бинго!

Если страдалец был найден, надо его срочно прошить (прошить, это сильно сказано, вернее - загрузить прошивку в RAM).

dfu-util -d 0471:df55 -c 0 -t 2048 -R -D /usr/local/LPCXpresso/bin/LPCXpressoWIN.enc

Ура! Теперь можно надругаться над таргетом! То бишь над тем процессором, который подрублен у нас уже к LPC-link (по JTAG или по SWD).

Узнаем, есть ли там у нас вообще нужный нам контроллер:

crt_emu_lpc11_13_nxp -g -2 -pLPC1343 -wire=winusb -info-target

Жестоко и беспощадно потереть всю инфу из таргет-контроллера:

crt_emu_lpc11_13_nxp -g -2 -pLPC1343 -wire=winusb -flash-erase 

И собственно прошить новую прошку в контроллер:

crt_emu_lpc11_13_nxp -g -2 -pLPC1343 -wire=winusb -flash-load=/home/ivan/workspace/first_test/Debug/first_test.axf 

Теоретически, эта строчка должна создать порт отладки, что бы с помощью великого и ужасного GDB можно было отладить прогу в реальной железке. Но практически оно падает при попытке подключиться к порту из GDB. Ругается на неправильный ID таргет-контроллера, так что вероятно это моя проблемма:

crt_emu_lpc11_13_nxp -g -2 -pLPC1343 -wire=winusb -server=:3333 -mi

To be continue…

 
comments powered by Disqus