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

 
 
> 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
vlad_new
сообщение Dec 13 2012, 12:24
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 218
Регистрация: 24-06-10
Пользователь №: 58 127



Цитата(Sidoroff @ Dec 13 2012, 15:44) *
Кстати у STM32 прога из RAM работает медленнее, чем из флешки, удивительно...

Физические шыны команд и данных разные. Приходится перебрасывать код с одной шыны на другую. Соответственно требуется лишний такт. :-)

Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 13:55
Рейтинг@Mail.ru


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