[Решено] Как прошить STM32_F4VE

Lennyz1988
Вт 25 июля 2017 г. 8:18 утра
Обновление: 08-22-2017

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

http: // www.STM32duino.com/viewtopic.PHP?F = 39&T = 2484

Прошивая плату работает, используя следующие методы:

Это ядро: https: // github.com/rogerclarkmelbourne/arduino_stm32

1. Используя ST-Link

Это ядро: https: // github.com/danieleff/stm32generic (Это ядро ​​имеет мои личные предпочтения из -за хорошей документации.)

1. Используя ST-Link
2. Используя серийный к USB



*Старый пост*

Мне очень жаль, если это действительно вопрос NOOB, но как Flass A STM32_F4VE (STM32F4XX STM32_F4VE V2.0 1509)

http: // wiki.STM32duino.com/index.PHP?title = STM32F407

Я пытался прочитать всю информацию, которую я мог найти в этом разделе, но что мне здесь не хватает?

- Я попытался использовать порт Mini-USB, подключенный к моим Windows 10 x64 и Linux Mint, используя все комбинации Jumper Boot. В Windows 10 я всегда получаю сбой дескриптора устройства USB (VID 0x000 PID 0x0002)."Так что он никогда не загружает режим DFU. Я попытался установить драйверы из ядра arduino_stm32, тот же результат. Я попытался установить драйверы с сайта STM32, тот же результат.

Вики описывает, что у этой платы есть мини -USB, который обеспечивает USB -серийный (VCP) через драйвер Св. Но после установки все еще ошибка дескриптора ошибки. Итак, я попробовал этого драйвера с сайта STM32:

http: // www.ул.com/en/development-tools/ ... 32102.HTML


В этом посте объясняется, что у STM32F4 уже есть встроенный загрузчик, поэтому он должен дать мне режим DFU. Так что я здесь делаю не так?

http: // www.STM32duino.com/viewtopic.PHP ... 215#P15447

- Я также попытался подключить адаптер USB-сериал FT232, но я все еще не могу загрузить эскизы через Arduino IDE. Так что я делаю не так или что мне здесь не хватает?

Стивестронг
Вт 25 июля 2017 г. 8:41
Загрузить возможности:

1. DFU над USB или любым серийным 1,2,3
- Установите Jumper Boot0 (BT0 на плате Black F4) на 3.3В
- сбросить доску
Теперь чип F4 должен войти в режим загрузки DFU, диспетчер устройств должен показывать вам «устройство STM32F4 DFU» или аналогичный.
Если нет, то вам нужно попробовать другие драйверы.
- Проверкайте чип
- Установите перемычку Boot0 обратно в GND
- сбросить доску.
https: // youtu.be/kx7ywvi8kbu?t = 203

2. Stlink v2
- Предпочтительный метод, так как настройка перемычки не требуется, работает на лету
- Вы можете купить один за ~ 2USD у Aliexpress или eBay.

Какую ОС вы используете?

Lennyz1988
Вт 25 июля 2017 г. 8:57 утра
[Стивестронг - Вторник 25 июля 2017 г. 8:41 утра] - Загрузить возможности:

1. DFU над USB или любым серийным 1,2,3
- Установите Jumper Boot0 (BT0 на плате Black F4) на 3.3В
- сбросить доску
Теперь чип F4 должен войти в режим загрузки DFU, диспетчер устройств должен показывать вам «устройство STM32F4 DFU» или аналогичный.
Если нет, то вам нужно попробовать другие драйверы.
- Проверкайте чип
- Установите перемычку Boot0 обратно в GND
- сбросить доску.

2. Stlink v2
- Вы можете купить один за ~ 2USD у Aliexpress или eBay.

Какую ОС вы используете?
Привет, спасибо, что ответили. Это изображение платы при подключении к ПК. Как видите, я перемычку от Boot0 установлен на 1, а Boot1 установлен на 0. Я установил их перед подключением устройства к ПК.

Изображение

После этого я подключаю его к Windows 10 x64 и получаю эту ошибку. Нажатие кнопки сброса не имеет альтернативного эффекта. Перевод: сбой дескриптора устройства USB. Mint Linux также не может обнаружить плату. Устройство STM32F4 DFU никогда не появляется в моем списке.

Изображение

Какие водители я должен попробовать? Я уже пробовал несколько драйверов, но ошибка остается.

Это драйверы, которые я пробовал:

1. http: // www.ул.com/en/development-tools/ ... 32102.HTML

2. Драйверы, предоставленные в ядре STM32_arduino.

3. http: // www.ул.com/en/development-tools/ ... 32080.HTML

Стивестронг
Вт 25 июля 2017 г. 9:32 утра
Попробуйте еще один USB2.0 Порт, избегайте USB 3.x порты.
Или попробуйте любой из серийных 1,2,3 порта.

Вы также можете попытаться подключить доску через USB -концентратор, иногда это помогает.

Что делает плата в начальном состоянии (Boot0 к GND)? Светодиодные миганы? Любой вывод на последовательных портах?

Наконец доска может быть неисправна.

Я определенно купил бы зонд stlink v2, он также поможет позже для отладки.

Lennyz1988
Вт 25 июля 2017 г. 10:02
Нет, на сериале нет вывода. Я прикрепил USB-сериал к TX, RX, GND, 5V, и не было никакого вывода. Я попробовал несколько бодратов. Светодиод в D1 всегда на. Это постоянно и никогда не мигает. Я попробовал все порты USB на моем ПК, USB2.0 и USB3.0, но это не имеет никакого значения.

В видео на YouTube, которое вы опубликовали, есть мигающие светодиоды, но не на моем доске. Как вы думаете, у меня есть неисправная доска? Я закажу ST-Link, но это займет несколько недель, чтобы прибыть.

Boot0 = 1
Boot1 = 0
LED = постоянный на

Изображение

Boot0 = 0
Boot1 = 1
LED = постоянный на

Изображение

Boot0 = 0
Boot1 = 0
LED = постоянный на

Изображение

Стивестронг
Вт 25 июля 2017 г. 11:24
[Стивестронг - Вт 25 июля 2017 г. 9:32 утра] - Что делает плата в начальном состоянии (Boot0 к GND)? Светодиодные миганы? Любой вывод на последовательных портах?
Я спросил об этом, потому что на моей плате первоначально было проштринуло приложение, которое моргнуло светодиоды D2 и D3 (внизу левая часть изображений) и отправила несколько данных по сериалу 1.
Установите как Boot0, так и Boot1 на GND (оригинальная настройка) и сбросить плату.
Светость D1, на который вы указали, просто сигнализирует о том, что плата питается, и она не должна моргать.
Измерьте 3.Поставка 3 В, возможно, ниже, чем необходимо.
Измените USB -кабель.
Перепродайте USB-соединения на доске.

vitor_boss
Вт 25 июля 2017 г. 16:16
[Lennyz1988 - Вт 25 июля 2017 г. 10:02] - LED = постоянный на

...
Этот светодиод является индикатором мощности, для Flash Mine я использую USB Serial (FTDI), подключенные к заголовку TX RX GND 5V и Boot -3 до 3.3V с использованием демоверсии ST Flash Loader.

Или использование https: // github.com/danieleff/stm32generic Библиотека, есть возможность использовать последовательный адаптер для загрузки серийного сериала

РЕДАКТИРОВАТЬ: Попробуйте удалить аккумулятор перед питанием платы, если все еще дает ошибки, произошло здесь.

Lennyz1988
Ср. 26 июля 2017 г. 9:19
[Стивестронг - Вт 25 июля 2017 г. 11:24 утра] -
[Стивестронг - Вт 25 июля 2017 г. 9:32 утра] - Что делает плата в начальном состоянии (Boot0 к GND)? Светодиодные миганы? Любой вывод на последовательных портах?
Я спросил об этом, потому что на моей плате первоначально было проштринуло приложение, которое моргнуло светодиоды D2 и D3 (внизу левая часть изображений) и отправила несколько данных по сериалу 1.
Установите как Boot0, так и Boot1 на GND (оригинальная настройка) и сбросить плату.
Светость D1, на который вы указали, просто сигнализирует о том, что плата питается, и она не должна моргать.
Измерьте 3.Поставка 3 В, возможно, ниже, чем необходимо.
Измените USB -кабель.
Перепродайте USB-соединения на доске.
Я измерил булавки с мультиметром и получаю твердый 3.3 В вывод на булавках. Я также пытался отразить паяльные лапы для USB -разъема, но это ничего не изменило. Последнее, что я собираюсь попробовать, это изменение USB -кабеля. Я заказал новый. У меня много кабелей с микро-USB, но я не мог найти еще один кабель Mini-USB. Кабель пошел с доской, но, возможно, это просто дерьмовый кабель. Я расскажу, если я попробовал новый кабель.

Мне удалось прошить доску, используя USB-сериал, используя параметры @vitor_boss дал мне. Итак, сама доска работает нормально :)
[vitor_boss - Вторник 25 июля 2017 г. 16:16] -
[Lennyz1988 - Вт 25 июля 2017 г. 10:02] - LED = постоянный на

...
Этот светодиод является индикатором мощности, для Flash Mine я использую USB Serial (FTDI), подключенные к заголовку TX RX GND 5V и Boot -3 до 3.3V с использованием демоверсии ST Flash Loader.

Или использование https: // github.com/danieleff/stm32generic Библиотека, есть возможность использовать последовательный адаптер для загрузки серийного сериала

РЕДАКТИРОВАТЬ: Попробуйте удалить аккумулятор перед питанием платы, если все еще дает ошибки, произошло здесь.
Спасибо! Мне удалось прошить плату с помощью «ST Flash Loader» и библиотеки, которую вы разместили. Я все еще выясняю, в чем разница между этим ядром и тем, что вы опубликовали.

Стивестронг
Ср. 26 июля 2017 г. 9:37
Процесс, как таковой.

Таким образом, как только вы сможете мигать, вы можете использовать любое из доступных ядер:

Arduino_stm32 = https: // github.com/rogerclarkmelbourne/arduino_stm32
или
STM32DUINO = https: // github.com/stm32duino/arduino_core_stm32f1
или
STM32Generic = https: // github.com/danieleff/stm32generic

Этот форум начался изначально с Core Arduino_stm32, даже если имя форума намекает, может быть, что -то другое.

AG123
Чт 27 июля 2017 г. 15:02
это на самом деле скрыто в этой теме
http: // www.STM32duino.com/viewtopic.PHP ... = 10#p26203
Вот как я это сделал

Lennyz1988
Ср. 02 августа 2017 12:41
[Стивестронг - Ср. 26 июля 2017 г. 9:37] - Процесс, как таковой.

Таким образом, как только вы сможете мигать, вы можете использовать любое из доступных ядер:

Arduino_stm32 = https: // github.com/rogerclarkmelbourne/arduino_stm32
или
STM32DUINO = https: // github.com/stm32duino/arduino_core_stm32f1
или
STM32Generic = https: // github.com/danieleff/stm32generic

Этот форум начался изначально с Core Arduino_stm32, даже если имя форума намекает, может быть, что -то другое.
Спасибо за список. Я ценю вашу тяжелую работу над этим ядром!

Я также нашел здесь некоторые разъяснения:

http: // www.STM32duino.com/viewtopic.PHP?F = 42&t = 97
[AG123 - Чт 27 июля 2017 г. 15:02] - это на самом деле скрыто в этой теме
http: // www.STM32duino.com/viewtopic.PHP ... = 10#p26203
Вот как я это сделал
Спасибо, что указали на это. Удовлетворительно это не тот вопрос, который у меня есть. Доска никогда не загружает драйверов DFU. Я всегда получаю ошибку «Ошибка дескриптора устройства USB» при подключении доски.

На данный момент я отказываюсь от программирования своего устройства, используя USB -порт. Я перепродал контакты, изменил ПК, пробовал разные ОС, другой кабель и разные драйверы. Я просто думаю, что у меня была неисправная доска.

Пито
Ср. 02 августа 2017 13:21
Мое текущее понимание заключается в том, что вы можете использовать последовательную загрузку с встроенным загрузчиком Eternal STM32 через последовательный UART, при настройке через прыгуны.
Почему вы пробуете это с USB, когда проблемы, попробуйте с серийным UART..

Обновление: я попробовал с моим черным F407ZE в первый раз над USB DFU, в основном та же доска, что и у вас. Win7 64 -бит.
1. Я установил Boot0 на 3.3V (был GND)
2. Unplug/Plug USB (Power Off/on the Poard)
3. Он распознал USB -устройство и установил загрузчик STM32 (драйвер Libusbk, 1/1/2014, V 3.0.7.0, Dig Signer USB \ vid_0483&PID_DF11 (LIBWDI Autogenerated))
4. Я управлял dfu-util и загрузил "D.bin "ОК
C:\Users\pito\Desktop\ProgDev\dfu-util-0.9-win64>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: [0483:df11] ver=2200, devnum=8, cfg=1, intf=0, path="2-3", alt=3, nam e="@Device Feature/0xFFFF0000/01*004 e", serial="8767865B8980" Found DFU: [0483:df11] ver=2200, devnum=8, cfg=1, intf=0, path="2-3", alt=2, nam e="@OTP Memory /0x1FFF7800/01*512 e,01*016 e", serial="8767865B8980" Found DFU: [0483:df11] ver=2200, devnum=8, cfg=1, intf=0, path="2-3", alt=1, nam e="@Option Bytes /0x1FFFC000/01*016 e", serial="8767865B8980" Found DFU: [0483:df11] ver=2200, devnum=8, cfg=1, intf=0, path="2-3", alt=0, nam e="@Internal Flash /0x08000000/04*016Kg,01*064Kg,07*128Kg", serial="8767865B8980" C:\Users\pito\Desktop\ProgDev\dfu-util-0.9-win64>dfu-util -a 0 -s 0x8000000 -D d .bin 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/ Invalid DFU suffix signature A valid DFU suffix will be required in a future dfu-util release!!! Opening DFU capable USB device... ID 0483:df11 Run-time device DFU version 011a Claiming USB DFU Interface... Setting Alternate Setting #0 ... Determining device status: state = dfuERROR, status = 10 dfuERROR, clearing status Determining device status: state = dfuIDLE, status = 0 dfuIDLE, continuing DFU mode device DFU version 011a Device returned transfer size 2048 DfuSe interface name: "Internal Flash " Downloading to address = 0x08000000, size = 28276 Download [=========================] 100% 28276 bytes Download done. File downloaded successfully C:\Users\pito\Desktop\ProgDev\dfu-util-0.9-win64>

Lennyz1988
Чт, 3 августа 2017 г., 12:11
[Пито - Ср. 02 августа 2017 г. 13:21] - Мое текущее понимание заключается в том, что вы можете использовать последовательную загрузку с встроенным загрузчиком Eternal STM32 через последовательный UART, при настройке через прыгуны.
Почему вы пробуете это с USB, когда проблемы, попробуйте с серийным UART..

Обновление: я попробовал с моим черным F407ZE в первый раз над USB DFU, в основном та же доска, что и у вас. Win7 64 -бит.
1. Я установил Boot0 на 3.3V (был GND)
2. Unplug/Plug USB (Power Off/on the Poard)
3. Он распознал USB -устройство и установил загрузчик STM32 (драйвер Libusbk, 1/1/2014, V 3.0.7.0, Dig Signer USB \ vid_0483&PID_DF11 (LIBWDI Autogenerated))
4. Я управлял dfu-util и загрузил "D.bin "ОК

Afaik мне пришлось установить драйвер Libusbk для загрузчика STM32 DFU через последний инструмент Zadig. Может быть, я сообщил в прошлом посте, в чем проблема..
Да, я сделал это с F103Zet в прошлом
http: // www.STM32duino.com/viewtopic.PHP ... 188#P26207
Спасибо за предложение. Причина, по которой я не загрузил через серийный UART, заключалась в том, что ядро ​​arduino_stm32 не поддерживает последовательную загрузку через Arduino IDE. Я не знал, что когда я начал эту ветку. Я могу загрузить на плату, используя флэш -загрузчик ST или через сериал, используя ядро ​​от Danieleff.

Я также попробовал ваше предложение, но та же ошибка осталась. Я подозреваю, что Правление неисправно.

Rogerclark
Чт, 3 августа 2017 г., 22:57
У меня всевозможные проблемы с водителями и DFU к аналогичной доске.

Но у нас есть серийная загрузка в инструментах Libmaple

Какое ядро ​​вы используете ?

Lennyz1988
Пт, 04 августа 2017 г., 7:02
[Rogerclark - Четверг. 3 августа 2017 г. 22:57] - У меня всевозможные проблемы с водителями и DFU к аналогичной доске.

Но у нас есть серийная загрузка в инструментах Libmaple

Какое ядро ​​вы используете ?
Я использую ядро ​​из вашего репозитория:

https: // github.com/rogerclarkmelbourne/arduino_stm32


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

Изображение

Стивестронг
Пт, 04 августа 2017 г., 7:20 утра
Да, в настоящее время загружена только по сравнению с STLINK, поддерживаемой для F4.
Я предполагаю, что загрузка DFU с утилитой ST Flash также должна работать, но это немного громоздко, вы должны установить джампер Boot0 на 3.3V, загрузите SW и установите перемычку на GND. Поскольку у нас нет рабочей утилиты DFU, у нас нет меню для выбора модальности загрузки.

Использование в долгосрочной перспективе платы F4 вам рано или поздно понадобится отладка, чтобы получить зонд Stlink в любом случае полезно, я рекомендую получить его, а затем все ваши проблемы исчезли :)

Rogerclark
Пт, 04 августа 2017 г., 7:44
Было бы легко добавить последовательную загрузку, но, как говорит @stevestrong, я не думаю, что вряд ли кто -нибудь будет ее использовать

Lennyz1988
Пт, 04 августа 2017 г. 9:12
[Стивестронг - Пт, 04 августа 2017 г., 7:20 утра] - Да, в настоящее время загружена только по сравнению с STLINK, поддерживаемой для F4.
Я предполагаю, что загрузка DFU с утилитой ST Flash также должна работать, но это немного громоздко, вы должны установить джампер Boot0 на 3.3V, загрузите SW и установите перемычку на GND. Поскольку у нас нет рабочей утилиты DFU, у нас нет меню для выбора модальности загрузки.

Использование в долгосрочной перспективе платы F4 вам рано или поздно понадобится отладка, чтобы получить зонд Stlink в любом случае полезно, я рекомендую получить его, а затем все ваши проблемы исчезли :)
Да, я заказал Stlink неделю назад на основе вашей рекомендации. Я все еще жду, когда он прибудет :)
[Rogerclark - Пт, 04 августа 2017 г., 7:44 утра] - Было бы легко добавить последовательную загрузку, но, как говорит @stevestrong, я не думаю, что вряд ли кто -нибудь будет ее использовать
Я понимаю :)

Пито
Пт, 04 августа 2017 г. 10:39
Я использую J-Link Clone с черным F407ZET исключительно (Black JTAG Connector), отлично работает (вы должны обновить FW J-Link, хотя не легкие упражнения), хотя).
ST-Link-это «обязательный инструмент», когда связывается с вещами STM32, действительно.
Я все еще думаю, что ваш USB DFU, как описано выше, может работать, возможно, ваш драйвер для загрузчика STM не был установлен должным образом.

vitor_boss
Пн, 07 августа 2017 г. 10:50
[Rogerclark - Пт, 04 августа 2017 г., 7:44 утра] - Было бы легко добавить последовательную загрузку, но, как говорит @stevestrong, я не думаю, что вряд ли кто -нибудь будет ее использовать
Я использую его от STM32Generic, утилита Flash STM32FLASH Запустите программу после мигания без прикосновения к перемычке для загрузки

Стивестронг
Пн, 07 августа 2017 г., 11:07
Вы имеете в виду, программное обеспечение перейдет к загрузчику (в ПЗУ?) и выполнить его без настройки перемычки Boot0?
Как это можно реализовать?

Rogerclark
Пн, 07 августа 2017 12:06
Стив

У меня есть какой -то код на форуме STM, который утверждал, что смогу поднять основное приложение во внутреннее DFU, но я никогда не пробовал его.

(Обратите внимание, это было на старом форуме STM, а не на новом «сообществе».

vitor_boss
Пн, 07 августа 2017 г. 14:45
[Стивестронг - Пн, 07 августа 2017 г. 11:07] - Вы имеете в виду, программное обеспечение перейдет к загрузчику (в ПЗУ?) и выполнить его без настройки перемычки Boot0?
Как это можно реализовать?
Точно, после Flash (в режиме DFU) через Serial1 он запускает код.
Изображение

Может быть, вы найдете ответ здесь: https: // github.com/arminarm/stm32flash
Я только начинаю с Arduino, я низко знаю C, в основном мой кодинг был в базовом.

STM32F407ZGT6 - схема Acelex ?

[Libmaple] Black F407Vet6