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

 
 
> Опять изобретать велосипед?, Bootloader STM32F103 IAR EEPROM.
misyachniy
сообщение Jun 15 2014, 08:30
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 716
Регистрация: 27-05-05
Из: Kyiv
Пользователь №: 5 454



Есть уже готовый проект. Теперь к нему нужно прикрутить возможность обновления ПО в приложении.

Предполагается 2(4) метода получения ПО в EEPROM
1) По USB в штатном/аварийном режиме.
2) По FTP через GPRS в штатном/аварийном режиме.

В найденых мною примерах bootloader пишется и компилируется отдельно. Программа пишется отдельно и компилируется по разному, для отладки и для загрузки через бутлоадер.

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

Bootloader и основную пограмму можно положиь в разных секциях flash и компилировать один проект.
Затем с двоичного файла отрезать нужный кусок.

В сети не нашел подобных вариантов. Очевидно что есть скрытые (или очевидные :-) недостатки такого метода.
Какие именно недостатки?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SasaVitebsk
сообщение Jun 16 2014, 06:52
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



biggrin.gif Имеет право на жизнь и такой вариант, какой вы описали. Но он слишком хлопотный. Например в ПЛК сименс можно заменить даже отдельные процедуры. Причём прямо на лету. Правда при этом хранятся не только копии программ, но и копии данных. Требуется полное совпадение данных. Они определённым образом обезличены, по отношению к другим модулям. Ну и так далее ... wink.gif
Короче, если не готовы продумать все эти детали и подробности, то значительно проще, использовать независимый бут и независимое приложение. Пусть там что-то и будет дублироваться. В конечном итоге, работа бута состоит только в загрузке приложения. И он может быть даже неэфективным. Может годами не модифицироваться. Необходимо чтобы он просто выполнял свою функцию. А вот приложение, может непрерывно совершенствоваться.
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Jun 21 2014, 01:15
Сообщение #3


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(SasaVitebsk @ Jun 16 2014, 10:52) *
...В конечном итоге, работа бута состоит только в загрузке приложения.....


сделал просче - бут обеспечивает только старт рабочей версии. Всё остальное (каналы прихода прошивки, её обработка и т.д..)
делает сама прошивка. Т.к. во флеше хранится более чем одна рабочая копия, то откатиться на устойчивую версию в любой
момент времени - труда не составляет.

Go to the top of the page
 
+Quote Post
Axel
сообщение Jun 21 2014, 04:45
Сообщение #4


Местный
***

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



Цитата(kolobok0 @ Jun 21 2014, 04:15) *
сделал просче -

Несколько субъективное утверждение. "просче" - вопрос критериев. С точки зрения занимаемого Flash-а standalone бутлоадер плюс одна аппликация почти наверняка меньше простого бутлоадера плюс две аппликации. Кроме того - средства для переключения между версиями, риски при перезагрузке очередной "надежной"версии...Ессно можно представить экзотические ситуации, когда это оправдано, например если для апгрейда используется USB и втечение жизни девайса допускается возможность смены его VID/PID, а так...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- misyachniy   Опять изобретать велосипед?   Jun 15 2014, 08:30
- - jcxz   Компилировать как один проект нельзя - как же вы п...   Jun 15 2014, 09:28
- - Axel   Цитата(misyachniy @ Jun 15 2014, 11:30) К...   Jun 15 2014, 09:55
|- - jcxz   дополнительные хлопоты Ну если так можно назвать ...   Jun 15 2014, 10:21
||- - Axel   Цитата(jcxz @ Jun 15 2014, 13:21) дополни...   Jun 15 2014, 11:21
|- - A. Fig Lee   Цитата(Axel @ Jun 15 2014, 05:55) "К...   Jun 15 2014, 11:28
- - A. Fig Lee   Что такое "бутлоадер EEPROM"? Просто мен...   Jun 15 2014, 11:19
- - kan35   Проблема в том, что если вы откомпилируете с разны...   Jun 15 2014, 16:27
|- - A. Fig Lee   Цитата(kan35 @ Jun 15 2014, 12:27) Бутлод...   Jun 16 2014, 00:20
|- - Axel   Цитата(A. Fig Lee @ Jun 16 2014, 03:20) У...   Jun 16 2014, 04:52
- - Golikov A.   и не надо писать одинаковые функции обновления про...   Jun 15 2014, 17:45
|- - misyachniy   Взял пример AN2557 переделал прием данных по UART ...   Jun 19 2014, 16:10
|- - kolobok0   Цитата(Axel @ Jun 21 2014, 08:45) ...субъ...   Jun 21 2014, 22:07
- - x893   Чудес не бывает - смотрите отладчиком. Делал бутло...   Jun 19 2014, 17:19


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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 02:54
Рейтинг@Mail.ru


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