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

 
 
> STM32: загрузка загрузчика, как обновить сам бутлоадер без программатора
Ruslan1
сообщение Jun 6 2016, 22:16
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Здравствуйте!

как это делается красиво? Есть бутлоадер и основная программа. Обновляем основную программу через файл- если бутлоадер видит файл на диске, то программирует камень согласно содержимомму данного файла (кроме области бутлоадера).
Хочется точно так же обновлять сам загрузчик, из файла.
Конкретно нужно для STM32F4, но тут вряд ли что-то особенное, отличное от других.

Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Jun 6 2016, 22:50
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Добавьте еще один "нижний" загрузчик. Работать будет так:
1. "Верхний" загрузчик записывает свое обновление в отдельную страницу памяти и вызывает сброс
2. "Нижний" проверяет CRC и версии образов "верхнего", затем копирует новый образ в рабочую область и передает ему управление
"Нижний" загрузчик пишется один раз и никогда не обновляется.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jun 7 2016, 03:04
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(aaarrr @ Jun 7 2016, 04:50) *
"Нижний" загрузчик пишется один раз и никогда не обновляется.

Можно и без этого ограничения обойтись.
Очевидно имеется в виду, что в составе устройства имеется некое устройство хранения (УХ) (файловая система или просто например SPI-флешка).
Основной бутлоадер (ОБ) сканирует УХ:
1. Если обнаруживает новое рабочее ПО, записывает его в область рабочего ПО флешь программ.
2. Если обнаруживает новый ОБ, то ищет на этом же УХ вспомогательный бутлоадер (ВБ) (скомпилённый для выполнения в области рабочего ПО флешь программ). Записывает ВБ в область рабочего ПО флешь программ. Передаёт ему управление. ВБ сканирует УХ, обнаружив новый ОБ, записывает его в область ОБ флешь программ и передаёт ему управление.
Единственный минус здесь - такое обновление ОБ небезопасно.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jun 7 2016, 06:03
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (jcxz @ Jun 7 2016, 06:04) *
Можно и без этого ограничения обойтись.
Если не включать защиту от чтения. Потому что включение защиты от чтения включает и защиту от записи нескольких первых страниц, и снять ее можно только вместе с защитой от чтения, т.е. стерев весь кристалл напрочь.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Ruslan1   STM32: загрузка загрузчика   Jun 6 2016, 22:16
|- - Ruslan1   Спасибо, буду думать. несрочно, так что еще и поте...   Jun 7 2016, 10:24
- - menzoda   Загрузчик может и сам себя обновить. Правда, возра...   Jun 7 2016, 13:35
|- - Ruslan1   Цитата(menzoda @ Jun 7 2016, 16:35) Загру...   Jun 7 2016, 17:41
|- - jcxz   Цитата(Ruslan1 @ Jun 7 2016, 23:41) И нуж...   Jun 8 2016, 04:18
|- - Kabdim   Цитата(jcxz @ Jun 8 2016, 07:18) Какой см...   Jun 8 2016, 07:29
|- - jcxz   Цитата(Kabdim @ Jun 8 2016, 13:29) Копиро...   Jun 8 2016, 08:09
- - Kabdim   Безопасный вариант уже был предложен - трёхуровнев...   Jun 8 2016, 03:16
- - ViKo   Поскольку функция загрузчика очевидна и однозначна...   Jun 8 2016, 05:43
|- - Сергей Борщ   QUOTE (ViKo @ Jun 8 2016, 08:43) Поскольк...   Jun 8 2016, 06:16
- - Kabdim   Способ загрузить прошивку откуда-то в мк остался и...   Jun 8 2016, 10:01
|- - jcxz   Цитата(Kabdim @ Jun 8 2016, 16:01) Способ...   Jun 8 2016, 12:56
- - Kabdim   Везет вам, у вас флеша хватает на 2 копии основной...   Jun 8 2016, 14:23
- - jcxz   Цитата(Kabdim @ Jun 8 2016, 20:23) Везет ...   Jun 9 2016, 02:45


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

 


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


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