реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> STM32F4xx bootloader, Использование аппаратного загрузчика STM32F4xx
eav1978
сообщение Jun 25 2014, 11:21
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 57
Регистрация: 13-01-07
Из: Санкт-Петербург
Пользователь №: 24 409



Все привет.
Разрабатывал устройство построенное на МК STM32F4xx.
Для устройства требовалась такая фича как обновление ПО в МК, не имея доступа к устройству.
Почитав в инете и на сайте ST, я решил использовать загрузку через UART(RS-232).
Мельком посмотрев схему загрузки на отладке STM3240G-EVAL (там стоит STM32F407), я наваял свою.
После монтажа платы уже выяснилось что я толком не разобрался в схеме, и вообще на отладке реализован не такой принцип загрузки какой нужен мне.
Я предполагал, что RS-232 подтянет ногу BOOT0 к "1" и дернет ножкой ресет переводя МК в режим загрузки из системной памяти(через UART), оказалось что на самом деле пользователь должен переключить ногу BOOT0 в "1" и нажать кнопку ресет.
А программа Flash Loader Demonstrator начнет прошивать МК только после того, как пользователь совершит необходимые манипуляции.

Может кто-нить писал свой прошивальщик, который может дергать ногами МК посредством сигналов DTR и RTS?
Или где-то есть на просторах сети что-то подобное.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jun 25 2014, 11:52
Сообщение #2


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата
Может кто-нить писал свой прошивальщик, который может дергать ногами МК посредством сигналов DTR и RTS?
Или где-то есть на просторах сети что-то подобное.
У ST уже есть такая. Запустите в командной строке STMFlashLoader.exe без параметров.
Go to the top of the page
 
+Quote Post
eav1978
сообщение Jun 25 2014, 12:18
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 57
Регистрация: 13-01-07
Из: Санкт-Петербург
Пользователь №: 24 409



Спасибо за ответ.
Оказалось что при установке Flash Loader Demonstrator, в папку программы накидало много разного чего, в том числе и STMFlashLoader.
Даже какие-то исходники имеются.
Посмотрел UM0462 User manual STM32 and STM8 Flash loader demonstrator в плане использования версии с командной строкой.
Пока что-то ничего не понятно.
Go to the top of the page
 
+Quote Post
eav1978
сообщение Jun 28 2014, 15:22
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 57
Регистрация: 13-01-07
Из: Санкт-Петербург
Пользователь №: 24 409



Уважаемый IgorKossak.
Не могли бы вы пояснить мне неразумному почему DTR и RTS должны меняться при запуске STMFlashLoader.exe без параметров?
Пробовал я и с параметрами, и без, DTR и RTS не меняются.
Кстати я где-то на форуме my.st.com встречал тему где народ тоже говорил что DTR и RTS не меняются, и проверить не возможно, т.к. исходников от STBLLIB.dll нет, а эти функции реализованы именно там
Go to the top of the page
 
+Quote Post
SSerge
сообщение Jun 28 2014, 16:44
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



Цитата(eav1978 @ Jun 28 2014, 22:22) *
Не могли бы вы пояснить мне неразумному почему DTR и RTS должны меняться при запуске STMFlashLoader.exe без параметров?

Без параметров он только информацию о ключах выведет. Её надо прочитать sm.gif и сочинить примерно такую строку:
>stmflashloader -c --pn 3 -Dtr --Hi -Rts --Hi -Rts --Lo {и прочее по вкусу}
результат:
Прикрепленное изображение

осцил подтверждает, DTR и RTS переключаются.


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jun 29 2014, 11:35
Сообщение #6


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(eav1978 @ Jun 28 2014, 18:22) *
Уважаемый IgorKossak.
Не могли бы вы пояснить мне неразумному почему DTR и RTS должны меняться при запуске STMFlashLoader.exe без параметров?

А я этого и не утверждал. При запуске без параметров просто выдаётся справка о программе, как в частности применять DTR и RTS.
Цитата(eav1978 @ Jun 28 2014, 18:22) *
Пробовал я и с параметрами, и без, DTR и RTS не меняются.

Странно, не проверял, во вторник поверю.
Цитата(eav1978 @ Jun 28 2014, 18:22) *
Кстати я где-то на форуме my.st.com встречал тему где народ тоже говорил что DTR и RTS не меняются, и проверить не возможно, т.к. исходников от STBLLIB.dll нет, а эти функции реализованы именно там

У меня исходники этой dll лежат в C:\Program Files\STMicroelectronics\Software\Flash Loader Demonstrator\Src\STBLLIB

PS: на всякий случай приложил архив

Сообщение отредактировал IgorKossak - Jun 29 2014, 11:42
Прикрепленные файлы
Прикрепленный файл  STBLLIB.zip ( 18.53 килобайт ) Кол-во скачиваний: 9
 
Go to the top of the page
 
+Quote Post
eav1978
сообщение Jul 1 2014, 11:53
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 57
Регистрация: 13-01-07
Из: Санкт-Петербург
Пользователь №: 24 409



Цитата(eav1978 @ Jun 28 2014, 19:22) *
Пробовал я и с параметрами, и без, DTR и RTS не меняются.


Я тут сам накосячил, так как у меня 2-х портовая мокса, и я, как оказалось впоследствии, смотрел не на том порту.

Цитата(SSerge @ Jun 28 2014, 20:44) *
и сочинить примерно такую строку:
>stmflashloader -c --pn 3 -Dtr --Hi -Rts --Hi -Rts --Lo {и прочее по вкусу}
результат:

осцил подтверждает, DTR и RTS переключаются.


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

Сочинил свою командную строку
>STMFlashLoader.exe -c --pn 10 --br 9600 --db 8 --pr even --sb 1 --ec off --to 5000 -Dtr --Lo -Rts --Hi -Dtr --Hi -Rts --Lo -Rts --Hi -i STM32F4_1024K -e --all -d --a address(00000000) --fn c:\123.hex --v --o -Dtr --Lo -Rts --Lo -Rts --Hi

Осцилом наблюдаю отправку 0x7F, и то, что нога DTR переключается, а вот RTS, которая у меня на ресет идет, переключатся не хочет.
На работе попробовал на переходнике с FT2232H, тоже самое, RTS не дергается

Заметил одну странность, если через Ком порт тулкит подключится к переходнику, и дернуть ногу ресет, то по осцилу я вижу реакцию.
Затем запускаю STMFlashLoader.exe с параметрами и также наблюдаю переключение ноги ресет.
После повторного запуска STMFlashLoader.exe с параметрами, ногу ресет уже не дергается. сигнал DTR переключается.
Если опять подключится к переходнику через Ком порт тулкит и дернуть ногу ресет, затем STMFlashLoader.exe с параметрами, нога ресет опять переключается.

Поищу комп с аппаратным COM-портом, попробую на нем


Цитата(IgorKossak @ Jun 29 2014, 15:35) *
А я этого и не утверждал. При запуске без параметров просто выдаётся справка о программе, как в частности применять DTR и RTS.

Странно, не проверял, во вторник поверю.

У меня исходники этой dll лежат в C:\Program Files\STMicroelectronics\Software\Flash Loader Demonstrator\Src\STBLLIB

PS: на всякий случай приложил архив


В этой папке нет исходников dll.
В файлах в этой папке реализуется работа с dll.

Насколько я понял.
Может я и не прав.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 22:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01384 секунд с 7
ELECTRONIX ©2004-2016