Перейти к содержанию
    

BootLoader для sam7x

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

Собственно необходимо реализовать обновление основной программы по Ethernet для проца at91sam7x. Порывшись в форуме я нашел следующие варианты:

1) В основной программе обновление происходит через ramfunc, но меня несколько смущает необходимость реализовывать TCP/IP стек в ramfunc.

2) BootLoader располагается в начале флэш-памяти и проц всегда стартует с него, основная программа располагается также во флэш. При обновлении FirmWare бутлодер работает с Ethernet и переписывает основную программу и после верификации передает управление на неё.

3) При обновлении основная программа закачивает новое FirmWare во внешний носитель (например DataFlash), затем выходит в бутлодер, который просто переписывает FirmWare из внешнего носителя во внутреннюю флэш.

 

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

Изменено пользователем vladik

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Благодарю за ответы.

В третьем варианте есть опасность, что однажды при старте проца бутлодер может не обнаружить в носителе валидного FirmWare, и тогда придется физически добираться до платы. Но конечно подкупает своей простотой, в общем пока размышляю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При условии наличия внешнего носителя вполне рабочий вариант. Мне не нравится только распыление функций загрузчика на две разные программы. Если удаленная загрузка используется в процессе написания и отладки основной программы, то это чревато неприятными сюрпризами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если делать по второму варианту, то бутлоадер с tcp/ip стеком не хило вырастает.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...