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

 
 
> Изменение прошивки мк по 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
Ответов
mapic
сообщение Aug 20 2010, 23:39
Сообщение #2


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

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



За исходник спасибо...
Посмотрел Ваш пример... все понятно кроме декодирования RC4....? Не подскажите где можно почитать что то толковое по этому вопросу? Может у Вас имеется какой то пример программный кодировка => декодирование... Из того что прочитал в инете понял что в RC4 есть ключ (массив) разной длины по которому идет кодирование и декодирование...? но какой алгоритм не очень представляю smile.gif ?

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

Тогда у меня вопрос как вы его выкладываете на сервер и как читаете на сим300 ? HTTP - не поддерживает ведь работу с файлами, нужен FTP а с ним на сим300 и с нашим доступом в инет от операторов практически нереально работать... Как я понимаю на сервере тоже должен быть какой то алгоритм работы по которому он по запросу с устройства выдавал частями файл...? - думал разработать для этого дела протокол обмена с сервером... как вижу а Вас система наверное проще?

...уже позже почитал про формат .uue - довольно интересный формат...
Go to the top of the page
 
+Quote Post
Dmitrich
сообщение Aug 21 2010, 03:38
Сообщение #3


Участник
*

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



Цитата(mapic @ Aug 21 2010, 03:39) *
Не подскажите где можно почитать что то толковое по этому вопросу?

Если спросить у Google "RC4 описание" то он всё и расскажет
А ещё есть хорошая книжка :
"Брюс Шнайер "Прикладная криптография".
Цитата
Тогда у меня вопрос как вы его выкладываете на сервер и как читаете на сим300 ?

Как выкладывать - даже непонятно, в чём вопрос? Копирую туда файл (руками), как ещё?
А как забираю - вот кусок обмена между SIM300 и процессором:

AT+CDNSORIP=0

OK
AT+CGATT=1

OK
AT+CIPCSGP=1,"internet.beeline.ru","beeline","beeline"

OK
AT+CIPSTART="TCP","195.34.238.215","80"

OK

CONNECT OK
AT+CIPSEND

> GET /v100.uue HTTP/1.1
Host: 195.34.238.215


SEND OK
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.1
Date: Tue, 20 Nov 2007 18:02:28 GMT
Content-Type: application/octet-stream
Accept-Ranges: bytes
Last-Modified: Tue, 20 Nov 2007 17:30:42 GMT
ETag: "f09869139b2bc81:a04"
Content-Length: 82275

YoRcY

M,4``"CQ```(^0-($L!(JH[`2,):P$IR=LD"`6B`!PD,F`/)`WP`A`/)#(@#"
M0RX`PD,I`/)`[P`J`/+0\``;`.)#&0#RT%\`&@#20Q\`PD,=`/)`_``>`,)#
M,P#"0S$`\D,R`/)`&0`W`,)#-0#R0.8`-@#"0P``PD,!`,)#)0#"0RT`@D.F
M`<)#!`#"0P4`@D-@`8)#8@&"0V0!@D-F`8)#@`&"0X(!@D.$`8)#A@&"0X@!
....
....


Цитата
Может у Вас имеется какой то пример программный кодировка => декодирование.


вот исходник кодера/декодера, которым я шифрую прошивку. Алгоритм симметричный, если ему на вход подсунуть "простой" файл - на выходе получим зашифрованный, а если подсунуть зашифрованный - на выходе получим "простой".
Исходник этот не мой - я его в сети нашёл, так что спасибо неизвестному автору.

Цитата
Может у Вас имеется какой то пример программный кодировка => декодирование.


вот исходник кодера/декодера, которым я шифрую прошивку. Алгоритм симметричный, если ему на вход подсунуть "простой" файл - на выходе получим зашифрованный, а если подсунуть зашифрованный - на выходе получим "простой".
Исходник этот не мой - я его в сети нашёл, так что спасибо неизвестному автору.

Прикрепленный файл  RC42010_08_21_07_20.rar ( 991 байт ) Кол-во скачиваний: 215


PS: Советую сначала добиться, что бы перепрошивка у тебя без шифрования работала, а потом уже, если очень нужно - добавляй шифрование.

Сообщение отредактировал Dmitrich - Aug 21 2010, 03:42
Go to the top of the page
 
+Quote Post
mapic
сообщение Aug 21 2010, 13:09
Сообщение #4


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

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



Цитата(Dmitrich @ Aug 21 2010, 06:38) *
Если спросить у Google "RC4 описание" то он всё и расскажет
А ещё есть хорошая книжка :
"Брюс Шнайер "Прикладная криптография".


За наводку спасибо!

Цитата(Dmitrich @ Aug 21 2010, 06:38) *
Как выкладывать - даже непонятно, в чём вопрос? Копирую туда файл (руками), как ещё?
А как забираю - вот кусок обмена между SIM300 и процессором:

AT+CDNSORIP=0

OK
AT+CGATT=1

OK
AT+CIPCSGP=1,"internet.beeline.ru","beeline","beeline"

OK
AT+CIPSTART="TCP","195.34.238.215","80"

OK

CONNECT OK
AT+CIPSEND

> GET /v100.uue HTTP/1.1
Host: 195.34.238.215


SEND OK
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.1
Date: Tue, 20 Nov 2007 18:02:28 GMT
Content-Type: application/octet-stream
Accept-Ranges: bytes
Last-Modified: Tue, 20 Nov 2007 17:30:42 GMT
ETag: "f09869139b2bc81:a04"
Content-Length: 82275

YoRcY

M,4``"CQ```(^0-($L!(JH[`2,):P$IR=LD"`6B`!PD,F`/)`WP`A`/)#(@#"
M0RX`PD,I`/)`[P`J`/+0\``;`.)#&0#RT%\`&@#20Q\`PD,=`/)`_``>`,)#
M,P#"0S$`\D,R`/)`&0`W`,)#-0#R0.8`-@#"0P``PD,!`,)#)0#"0RT`@D.F
M`<)#!`#"0P4`@D-@`8)#8@&"0V0!@D-F`8)#@`&"0X(!@D.$`8)#A@&"0X@!
....
....


здесь тоже все ясно... а как файл с модуля забираете - просто все что льется с порта в память пишите? АТ45 успевает все записать? еще как я понимаю файл .uue нужно преобразовать в нормальный вид (хотя по спецификации вроде все несложно выглядит преобразование 4 байта в 3)...

Я думал немножко по другому передавать файл небольшими пакетами с подтверждением приема... но для этого пришлось бы писать особое по сервера работающие по этому протоколу передачи...

Цитата(Dmitrich @ Aug 21 2010, 06:38) *
PS: Советую сначала добиться, что бы перепрошивка у тебя без шифрования работала, а потом уже, если очень нужно - добавляй шифрование.


ну да так и планирую...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- mapic   Изменение прошивки мк по GPRS-каналу...?   Aug 19 2010, 09:51
- - Slonofil   Планирую заняться тем же, поделюсь своими соображе...   Aug 19 2010, 09:56
- - Dmitrich   Привет Марис! Именно так я у себя и сделал: в...   Aug 19 2010, 10:14
|- - mapic   Цитата(Dmitrich @ Aug 19 2010, 13:14) При...   Aug 19 2010, 10:46
|- - Dmitrich   Цитата(mapic @ Aug 19 2010, 14:46) >Ис...   Aug 19 2010, 16:30
|- - 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
|- - rx3apf   Цитата(mapic @ Aug 21 2010, 03:39) Тогда ...   Aug 21 2010, 00:24
- - 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
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 18:07
Рейтинг@Mail.ru


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