Jump to content

    

Программирование LPC4337 под Linux через DFU

Добрый день, коллеги! Может кто-нибудь подсказать рабочий вариант как запрограммировать LPC4337 через USB0 DFU под linux? Как-то забодать dfu-util не получается. Сыплет различные ошибки, либо не программирует кристалл. Информация по этой утилите раскидана по всей сети, и как иногда это случается по эту ОСЬ, не получается просто взять и запустить. Возможно, у кого-то есть рабочее решение? Будуд очень благодарен!!!

З.Ы. В Windows программирование проходит без проблем)

Share this post


Link to post
Share on other sites

STM32 программируется без проблем как-то так:

dfu-util -D file.bin -s 0x08000000:leave -a 0

А на MAC'е, например, так же версия dfu-util работает только при явном указании vid:pid.

А в вашем случае что?

Share this post


Link to post
Share on other sites
1 hour ago, aaarrr said:

STM32 программируется без проблем как-то так:

Так и запускаю. Bin-файл после компилятора IAR, верно? Но в своём случае получаю текст ошибки. Сейчас, не на работе, не могу сказать точно ошибку.

Share this post


Link to post
Share on other sites
8 minutes ago, haker_fox said:

Bin-файл после компилятора IAR, верно?

Нет, не  IAR, но какая разница? Обычный бинарный файл.

 

9 minutes ago, haker_fox said:

Но в своём случае получаю текст ошибки. Сейчас, не на работе, не могу сказать точно ошибку.

Самый простой вариант - отсутствие нужных прав.

Share this post


Link to post
Share on other sites
4 часа назад, haker_fox сказал:

Добрый день, коллеги! Может кто-нибудь подсказать рабочий вариант как запрограммировать LPC4337 через USB0 DFU под linux? Как-то забодать dfu-util не получается. Сыплет различные ошибки, либо не программирует кристалл. Информация по этой утилите раскидана по всей сети, и как иногда это случается по эту ОСЬ, не получается просто взять и запустить.

Что за утилита?

Я брал Application note, описывающий DFU (описание нормальное), и реализовывал в своей программе загрузку. Протокол там простой. Насколько помню. Правда я прошивал внешнюю SPI-FLASH.

Помню что первым посылал файл загрузчика (программа для LPC43xx, выполнение из ОЗУ), которая стартовала в МК и дальше уже она продолжала приём (уже того образа, который нужно было писать во флешь).

Edited by jcxz

Share this post


Link to post
Share on other sites
4 hours ago, aaarrr said:

Обычный бинарный файл.

Ну да, это я и подразумевал. Обычный.

4 hours ago, aaarrr said:

Самый простой вариант - отсутствие нужных прав

Перед запуском утилиты выполнено sudo -s

3 hours ago, jcxz said:

Что за утилита?

http://dfu-util.sourceforge.net/

3 hours ago, jcxz said:

и реализовывал в своей программе загрузку

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

Share this post


Link to post
Share on other sites

Удачное программирование под windows проводилось так же этой утилитой? 

Share this post


Link to post
Share on other sites

Под маком что дает ключ -l ?

Share this post


Link to post
Share on other sites
7 hours ago, GenaSPB said:

Удачное программирование под windows проводилось так же этой утилитой?

Нет, другой. Оконной. Но я подумал, что раз программируется, то железо и всё прочее исправно.

Edited by haker_fox

Share this post


Link to post
Share on other sites

Вот пример запуска:

root@fox-pc# sudo dfu-util -D my.bin -s 0x1a000000:leave -a 0
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 1fc9:000c
Run-time device DFU version 0100
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0100
Device returned transfer size 2048
dfu-util: Could not read name, sscanf returned 0
dfu-util: Failed to parse memory layout

 

Перед этим убедился, что утилита видит DFU

 sudo dfu-util -l
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Found DFU: [1fc9:000c] ver=0100, devnum=3, cfg=1, intf=0, path="1-1", alt=0, name="DFU", serial="ABCD"

 

Share this post


Link to post
Share on other sites
Quote

dfu-util: Failed to parse memory layout

В имени конфигурации утилита ожидает увидеть подробности об устройстве программируемого девайса, размер страницы флешки для стирания например... Процессор такого о себе не предоставил.

Вот с таким dfu-util работает нормально:

 

dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Deducing device DFU version from functional descriptor length
Found DFU: [ffff:0750] ver=0000, devnum=2, cfg=1, intf=0, path="1-3", alt=2, name="@SRAM APPLICATION/0x20000000/32*064Kg", serial="SN:19640302_122880000_1"
Found DFU: [ffff:0750] ver=0000, devnum=2, cfg=1, intf=0, path="1-3", alt=1, name="@SPI Flash BOOTLOADER: M25Px/0x18000000/02*064Kg", serial="SN:19640302_122880000_1"
Found DFU: [ffff:0750] ver=0000, devnum=2, cfg=1, intf=0, path="1-3", alt=0, name="@SPI Flash APPLICATION: M25Px/0x18020000/30*064Kg", serial="SN:19640302_122880000_1"

STM-овские процессоры о себе рапортуют так же подробно

Edited by GenaSPB

Share this post


Link to post
Share on other sites
11 minutes ago, GenaSPB said:

STM-овские процессоры о себе рапортуют так же подробно

Ага, вон оно в чём дело. Спасибо)

Нашёл такую статейку. Чуть позже попробую выполнить по ней.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now