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

 
 
> STM32. Собственный бутлоадер
Sidoroff
сообщение Nov 27 2012, 08:55
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 3-07-06
Пользователь №: 18 536



Работаю в Keil, микроконтроллер STM32F407ZGT.
Хочу написать собственный бутлоадер. Как работает флешка и нужная мне связь, разобрался.
Но столкнулся с одной проблемой: не могу найти, как разместить код, написанный на С
в заранее известных областях встроенной флешки и это проконтролировать,
чтобы бутлоадер не пытался перезаписать сам себя. В свое время писал на AVR на
ассемблере, там такой проблемы не было, можно было точно указать, где размещать код,
и загрузчик просто лежал в неизменяемой части программы.

Можно ли решить проблему именно так?

Или есть более простое решение?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Sidoroff
сообщение Dec 13 2012, 11:44
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 3-07-06
Пользователь №: 18 536



Всем спасибо за советы!
Разобрался с размещением в линкере Keil и сделал так:
Через встроенный бутлоадер по UART на 115200 быстро заливаю маленькую программку для RAM, 4 кбайт
(линкуется с адреса 0x20000000), стартую ее, связываюсь с ней на большой скорости по тому
же UART (на 6 мбит) и уже на большой скорости записываю любую "пользовательскую" программу
для FLASH. Вся операция вместе со стиранием занимает менее 15 секунд,
Это уже близко к пределу по документации, в отличие 2-3 минутной прошивки через ULINK-2.

Другой МК (ATtiny13) мониторит UART RX и по специальной сигнатуре формирует RESET для STM32
в режиме флешки или встроенного бутлоадера.
Tiny нужен и для других целей, поэтому все равно будет.
Кстати у STM32 прога из RAM работает медленнее, чем из флешки, удивительно...
Go to the top of the page
 
+Quote Post



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

 


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


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