|
Обновление прошивки |
|
|
|
Jan 21 2016, 13:42
|
Участник

Группа: Участник
Сообщений: 28
Регистрация: 16-10-15
Пользователь №: 88 891

|
Делаю бут, который будет обновлять прошивку с sd карты. Возникло пару вопросов, поэтому рассуждения вслух. Скомпилировал прошивку, получил bin файл, файл может получиться большого размера, в оперативку возможно не влезет, думаю писать в специально отведенные для этого сектора в начало/конец флеша - пока не понятно куда лучше. Собственно, читаю с карты этот бинарник, записал во флеш, хорошо бы его проверить, думаю использовать CRC. Еще хорошо бы знать отличается ли версия залитой прошивки, от той что на карте. Теперь, внимание вопрос, как вы бы делали это? Пока единственное решение - написать утилиту для пк, которая бы посчитала crc прошивки, и обернуть в какой то новый файл, с полями crc и версией, но почему то есть смутное подозрение что никто так не делает.
|
|
|
|
|
 |
Ответов
|
Jan 21 2016, 14:37
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(data_stack @ Jan 21 2016, 19:42)  Скомпилировал прошивку, получил bin файл, файл может получиться большого размера, в оперативку возможно не влезет, думаю писать в специально отведенные для этого сектора в начало/конец флеша - пока не понятно куда лучше. Собственно, читаю с карты этот бинарник, записал во флеш, хорошо бы его проверить, думаю использовать CRC. Непонятно зачем прошивку переписывать куда-то если она лежит на SD-карте? Бутлоадер может в любой момент считать с SD-карты любую её часть и, при необходимости, повторить процесс обновления, если по какой-то причине прошлый раз не удался. Или Вы боретесь с диким юзером, который выдёргивает карту во время прошивки? :-) Насчёт CRC - IAR прекрасно умеет считать CRC образа прошивки, зачем изобретать велосипед? Мы именно так и контролируем валидность прошивок.
|
|
|
|
|
Jan 21 2016, 15:04
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(jcxz @ Jan 21 2016, 17:37)  Непонятно зачем прошивку переписывать куда-то если она лежит на SD-карте? Так загрузчику и не надо будет знать ничего о SD-карте - его дело проверить и скопировать прошивку из одной части флеш в другую. Получается очень простой и компактный бут без привязки к какому-либо внешнему железу. Цитата(jcxz @ Jan 21 2016, 17:37)  Насчёт CRC - IAR прекрасно умеет считать CRC образа прошивки, зачем изобретать велосипед? Мы именно так и контролируем валидность прошивок. А номер и дату сборки он умеет вставлять?
|
|
|
|
|
Jan 21 2016, 15:29
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(aaarrr @ Jan 21 2016, 21:04)  Так загрузчику и не надо будет знать ничего о SD-карте - его дело проверить и скопировать прошивку из одной части флеш в другую. Получается очень простой и компактный бут без привязки к какому-либо внешнему железу. +1. То же так же делаю. Загрузчик работает только с сегментами памяти - он знает где лежит приложение, где лежит новая версия, где лежит резервная версия. Про всякие карты-интерфейсы он ничего не ведает. Умеет считать CRC, знает где расположена версия, дата и прочие атрибуты приложения. Цитата(aaarrr @ Jan 21 2016, 21:04)  А номер и дату сборки он умеет вставлять? Дату сборки в IAR, ровно как и в других компиляторах, можно вычислить по макросам _DATE_ и _TIME_. Номер сборки, похоже, только вручную...
--------------------
|
|
|
|
Сообщений в этой теме
data_stack Обновление прошивки Jan 21 2016, 13:42 aaarrr Цитата(data_stack @ Jan 21 2016, 16:42) П... Jan 21 2016, 13:51 mantech Цитата(data_stack @ Jan 21 2016, 16:42) Д... Jan 21 2016, 13:52 data_stack Просто столкнулся с этой проблемой впервые, поэтом... Jan 21 2016, 13:57 megajohn Цитата(data_stack @ Jan 21 2016, 17:42) Д... Jan 21 2016, 14:14   scifi Цитата(prottoss @ Jan 21 2016, 18:29) Ном... Jan 21 2016, 15:34  jcxz Цитата(aaarrr @ Jan 21 2016, 21:04) Так з... Jan 21 2016, 16:01   aaarrr Цитата(jcxz @ Jan 21 2016, 19:01) Про дат... Jan 21 2016, 16:20  mantech Цитата(aaarrr @ Jan 21 2016, 18:04) Так з... Jan 23 2016, 13:20   aaarrr Цитата(mantech @ Jan 23 2016, 16:20) Так ... Jan 23 2016, 13:31    Ruslan1 А я простой стандартный hex-файл использую. Нашел ... Jan 23 2016, 14:45    jcxz Цитата(aaarrr @ Jan 23 2016, 19:31) С SD-... Jan 24 2016, 11:35 prottoss Выскажу свое мнение, хоть, похоже оно и не совпада... Jan 24 2016, 12:20 scifi Цитата(prottoss @ Jan 24 2016, 15:20) Выс... Jan 24 2016, 12:32  aaarrr Цитата(scifi @ Jan 24 2016, 15:32) Ну и г... Jan 24 2016, 12:34  mantech Цитата(scifi @ Jan 24 2016, 15:32) Ну и г... Jan 24 2016, 13:18 Огурцов Цитата(prottoss @ Jan 24 2016, 12:20) бут... Jan 24 2016, 12:37 prottoss Блин...Извиняюсь за неправильные термины. Я не име... Jan 24 2016, 13:21
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|