Перейти к содержанию
    

STM32F4xx bootloader

Все привет.

Разрабатывал устройство построенное на МК STM32F4xx.

Для устройства требовалась такая фича как обновление ПО в МК, не имея доступа к устройству.

Почитав в инете и на сайте ST, я решил использовать загрузку через UART(RS-232).

Мельком посмотрев схему загрузки на отладке STM3240G-EVAL (там стоит STM32F407), я наваял свою.

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

Я предполагал, что RS-232 подтянет ногу BOOT0 к "1" и дернет ножкой ресет переводя МК в режим загрузки из системной памяти(через UART), оказалось что на самом деле пользователь должен переключить ногу BOOT0 в "1" и нажать кнопку ресет.

А программа Flash Loader Demonstrator начнет прошивать МК только после того, как пользователь совершит необходимые манипуляции.

 

Может кто-нить писал свой прошивальщик, который может дергать ногами МК посредством сигналов DTR и RTS?

Или где-то есть на просторах сети что-то подобное.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может кто-нить писал свой прошивальщик, который может дергать ногами МК посредством сигналов DTR и RTS?

Или где-то есть на просторах сети что-то подобное.

У ST уже есть такая. Запустите в командной строке STMFlashLoader.exe без параметров.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за ответ.

Оказалось что при установке Flash Loader Demonstrator, в папку программы накидало много разного чего, в том числе и STMFlashLoader.

Даже какие-то исходники имеются.

Посмотрел UM0462 User manual STM32 and STM8 Flash loader demonstrator в плане использования версии с командной строкой.

Пока что-то ничего не понятно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемый IgorKossak.

Не могли бы вы пояснить мне неразумному почему DTR и RTS должны меняться при запуске STMFlashLoader.exe без параметров?

Пробовал я и с параметрами, и без, DTR и RTS не меняются.

Кстати я где-то на форуме my.st.com встречал тему где народ тоже говорил что DTR и RTS не меняются, и проверить не возможно, т.к. исходников от STBLLIB.dll нет, а эти функции реализованы именно там

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не могли бы вы пояснить мне неразумному почему DTR и RTS должны меняться при запуске STMFlashLoader.exe без параметров?

Без параметров он только информацию о ключах выведет. Её надо прочитать :) и сочинить примерно такую строку:

>stmflashloader -c --pn 3 -Dtr --Hi -Rts --Hi -Rts --Lo {и прочее по вкусу}

результат:

post-8528-1403973636_thumb.png

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемый IgorKossak.

Не могли бы вы пояснить мне неразумному почему DTR и RTS должны меняться при запуске STMFlashLoader.exe без параметров?

А я этого и не утверждал. При запуске без параметров просто выдаётся справка о программе, как в частности применять DTR и RTS.

Пробовал я и с параметрами, и без, DTR и RTS не меняются.

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

Кстати я где-то на форуме my.st.com встречал тему где народ тоже говорил что DTR и RTS не меняются, и проверить не возможно, т.к. исходников от STBLLIB.dll нет, а эти функции реализованы именно там

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

 

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

STBLLIB.zip

Изменено пользователем IgorKossak

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пробовал я и с параметрами, и без, DTR и RTS не меняются.

 

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

 

и сочинить примерно такую строку:

>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-портом, попробую на нем

 

 

А я этого и не утверждал. При запуске без параметров просто выдаётся справка о программе, как в частности применять DTR и RTS.

 

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

 

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

 

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

 

В этой папке нет исходников dll.

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

 

Насколько я понял.

Может я и не прав.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...