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

 
 
> Изменение прошивки мк по GPRS-каналу...?, SIM300D и SIM900
mapic
сообщение Aug 19 2010, 09:51
Сообщение #1


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

Группа: Участник
Сообщений: 159
Регистрация: 8-06-07
Пользователь №: 28 294



Возникла необходимость предвидеть в устройстве возможность дистанционного обновления ПО микроконтроллера, желательно по GPRS-каналу. Ожидаемый объем прошивки 64-128 кб.

Так как напрямую "в лоб" (прямо в память мк) это сделать скорее всего не получится, пришла идея использовать промежуточный буфер памяти в виде флеш памяти AT45 (она все равно находится на борту, 16 Мбит так что выделить 100 кб не проблема вроде). Идея в принципе проста - центральный сервер по команде будет отправлять по частям HEX файл с обновленной прошивкой, части будут проверятся по протоколу и на CRC, после чего будут записываться в буфер AT45, и формировать в ее памяти зеркало прошивки мк. После записи всего массива HEXа, сервер подаст команду на включение бутлоадера - и через минуту вторую устройство с новым ПО.

Конечно нужно еще продумать протокол, возможно добавить кодирование и т.д. - но в теории идея выглядит очень работоспособной...? осталось попробовать на практике biggrin.gif

Хотелось бы услышать мнение форумчан по этому вопросу? Кто какой способ изменения ПО устройства использует?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Dmitrich
сообщение Aug 19 2010, 10:14
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 15-02-05
Пользователь №: 2 663



Привет Марис!

Именно так я у себя и сделал: внешняя память AT45DB, файлик забирается с сервера записывается туда. По окончании записи проверяется СRC, если она в порядке - управление передаётся на загрузчик. Файлик передаётся и хранится зашифрованным (RC4). Также загрузчик получает управление при включении питания. Он проверяет - "а нет ли в памяти файла прошивки?" Если есть - перепрошивает процессор и стирает файл из памяти. Благодаря этому выключения питания в процессе перепрошивки не страшны. Процессор - MSP430F149, загрузчик меньше 2-х килобайт. Это работает уже на паре тысяч экземпляров, и спасало не раз.
Исходник , если что - мне не жалко

С уважением Ефанов Сергей.
Go to the top of the page
 
+Quote Post
mapic
сообщение Aug 19 2010, 10:46
Сообщение #3


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

Группа: Участник
Сообщений: 159
Регистрация: 8-06-07
Пользователь №: 28 294



Цитата(Dmitrich @ Aug 19 2010, 13:14) *
Привет Марис!

Именно так я у себя и сделал: внешняя память AT45DB, файлик забирается с сервера записывается туда. По окончании записи проверяется СRC, если она в порядке - управление передаётся на загрузчик. Файлик передаётся и хранится зашифрованным (RC4). Также загрузчик получает управление при включении питания. Он проверяет - "а нет ли в памяти файла прошивки?" Если есть - перепрошивает процессор и стирает файл из памяти. Благодаря этому выключения питания в процессе перепрошивки не страшны. Процессор - MSP430F149, загрузчик меньше 2-х килобайт. Это работает уже на паре тысяч экземпляров, и спасало не раз.
Исходник , если что - мне не жалко

С уважением Ефанов Сергей.


Здравствуйте Сергей! Очень рад Вас "слышать"... Сколько лет, сколько зим... biggrin.gif
У меня такая же идейка...
Исходник не помешал бы (особенно кодирование и если есть какое то пробное простое по сервера-обновления)...
Какое в среднем время занимает обновление? А последнюю прошивку на всякий случай в АТ45 сохраняете?

Цитата(Slonofil @ Aug 19 2010, 12:56) *
Планирую заняться тем же, поделюсь своими соображениями.

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

Удачи!


С АТ45 все просто делается, SPI на аппаратном уровне поддерживается...
По буту все ясно - нужно сделать надежным и универсальным - на все случаи жизни... rolleyes.gif
Go to the top of the page
 
+Quote Post
Dmitrich
сообщение Aug 19 2010, 16:30
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 15-02-05
Пользователь №: 2 663



Цитата(mapic @ Aug 19 2010, 14:46) *
>Исходник не помешал бы

выслал на e-mail

>(особенно кодирование и если есть какое то пробное простое по сервера-обновления)...

Файл забирается по протоколу HTTP через 80 порт с обычного web - сервера

>Какое в среднем время занимает обновление?

Примерно минуту, основное время занимает получение файла. Собственно перепрошивка процессора - секунд 15-20.

>А последнюю прошивку на всякий случай в АТ45 сохраняете?

Нет, а зачем?

Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- mapic   Изменение прошивки мк по GPRS-каналу...?   Aug 19 2010, 09:51
- - Slonofil   Планирую заняться тем же, поделюсь своими соображе...   Aug 19 2010, 09:56
|- - SZ0   Цитата>Исходник не помешал бы выслал на e-mail...   Aug 20 2010, 03:28
|- - mapic   За исходник спасибо... >Файл забирается по про...   Aug 20 2010, 08:56
|- - Dmitrich   >Я просто думал немножко обрабатывать HEX файл ...   Aug 20 2010, 15:46
- - mapic   Сергей что с Вашим емейлом? - не могу отправить пи...   Aug 20 2010, 16:32
- - mapic   За исходник спасибо... Посмотрел Ваш пример... все...   Aug 20 2010, 23:39
|- - rx3apf   Цитата(mapic @ Aug 21 2010, 03:39) Тогда ...   Aug 21 2010, 00:24
|- - Dmitrich   Цитата(mapic @ Aug 21 2010, 03:39) Не под...   Aug 21 2010, 03:38
|- - mapic   Цитата(Dmitrich @ Aug 21 2010, 06:38) Есл...   Aug 21 2010, 13:09
- - AlexandrY   Цитата(mapic @ Aug 19 2010, 12:51) Хотело...   Aug 21 2010, 13:36
|- - mapic   Цитата(AlexandrY @ Aug 21 2010, 16:36) Ка...   Aug 21 2010, 15:42
||- - AlexandrY   Цитата(mapic @ Aug 21 2010, 18:42) С таки...   Aug 21 2010, 16:13
||- - mapic   Цитата(AlexandrY @ Aug 21 2010, 19:13) Ну...   Aug 21 2010, 16:47
||- - AlexandrY   Цитата(mapic @ Aug 21 2010, 19:47) я имел...   Aug 21 2010, 17:08
||- - alx125   Цитата(AlexandrY @ Aug 21 2010, 21:08) ...   Aug 23 2010, 10:31
|- - Alechek   Цитата(AlexandrY @ Aug 21 2010, 19:36) Ка...   Sep 1 2010, 05:49
- - ArtemKAD   ЦитатаАТ45 успевает все записать? С легкостью. Там...   Aug 21 2010, 14:39
- - mempfis_   Цитата(mapic @ Aug 19 2010, 12:51) Возник...   Sep 1 2010, 07:34
- - rx3apf   Цитата(mempfis_ @ Sep 1 2010, 11:34) 2. У...   Sep 2 2010, 16:04
- - mempfis_   Цитата(rx3apf @ Sep 2 2010, 19:04) Или я ...   Sep 2 2010, 19:00


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

 


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


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