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

 
 
> BootLoader для sam7x
vladik
сообщение Jun 15 2010, 16:25
Сообщение #1


Участник
*

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



Здравствуйте.
Собственно необходимо реализовать обновление основной программы по Ethernet для проца at91sam7x. Порывшись в форуме я нашел следующие варианты:
1) В основной программе обновление происходит через ramfunc, но меня несколько смущает необходимость реализовывать TCP/IP стек в ramfunc.
2) BootLoader располагается в начале флэш-памяти и проц всегда стартует с него, основная программа располагается также во флэш. При обновлении FirmWare бутлодер работает с Ethernet и переписывает основную программу и после верификации передает управление на неё.
3) При обновлении основная программа закачивает новое FirmWare во внешний носитель (например DataFlash), затем выходит в бутлодер, который просто переписывает FirmWare из внешнего носителя во внутреннюю флэш.

Какой из вариантов является наиболее приемлемым, или предложите свой. Заранее благодарен.

Сообщение отредактировал vladik - Jun 15 2010, 16:26
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 6)
aaarrr
сообщение Jun 15 2010, 16:28
Сообщение #2


Гуру
******

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



Делал по второму варианту. ИМХО, наиболее правильный путь.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Jun 16 2010, 06:45
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Если делать по второму варианту, то бутлоадер с tcp/ip стеком не хило вырастает. Делал по третьему варианту. Наличие внешней флешки достаточного объема позволяет хранить старые версии и в случае чего откатываться назад. Использовал AT45 в качестве хранилища.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
vladik
сообщение Jun 16 2010, 11:03
Сообщение #4


Участник
*

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



Благодарю за ответы.
В третьем варианте есть опасность, что однажды при старте проца бутлодер может не обнаружить в носителе валидного FirmWare, и тогда придется физически добираться до платы. Но конечно подкупает своей простотой, в общем пока размышляю.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Jun 16 2010, 11:35
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



И на внешнем носителе и во внутреннем флешь? Это постараться надо.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 16 2010, 11:40
Сообщение #6


Гуру
******

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



При условии наличия внешнего носителя вполне рабочий вариант. Мне не нравится только распыление функций загрузчика на две разные программы. Если удаленная загрузка используется в процессе написания и отладки основной программы, то это чревато неприятными сюрпризами.
Go to the top of the page
 
+Quote Post
LightElf
сообщение Jun 16 2010, 15:34
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 180
Регистрация: 5-04-09
Пользователь №: 47 205



Цитата(Dron_Gus @ Jun 16 2010, 10:45) *
Если делать по второму варианту, то бутлоадер с tcp/ip стеком не хило вырастает.

Будет весь бутлоадер 4-8 килобайт, в зависимости от фишек (шифрование образа, аутентификация, dhcp и все такое). Если например вокруг uIP делать. Ну или свой udp/ip стек соорудить, оно не сложно.
Go to the top of the page
 
+Quote Post

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

 


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


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