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

 
 
> Самопрограммирование AVR МК
KIG
сообщение Nov 28 2009, 13:12
Сообщение #1


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

Группа: Участник
Сообщений: 115
Регистрация: 25-12-06
Пользователь №: 23 884



Здравствуйте!
Использую самопрограммирование МК через GSM модем. Часто обрывается канал связи и сбивается работа МК (прошивка МК портится). Подскажите, пожалуйста, как реализовать (где можно прочитать) самопрограммирование МК из внешней Flash памяти? Возможно ли хранить резервную копию прошивки МК в собственной Flash памяти МК (Как это сделать)? Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Xenia
сообщение Nov 28 2009, 13:49
Сообщение #2


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(KIG @ Nov 28 2009, 16:12) *
Часто обрывается канал связи и сбивается работа МК (прошивка МК портится). Подскажите, пожалуйста, как реализовать (где можно прочитать) самопрограммирование МК из внешней Flash памяти? Возможно ли хранить резервную копию прошивки МК в собственной Flash памяти МК (Как это сделать)?

Надо не резервную копию хранить, а начинать перепрошивку не раньше, чем убедишься в том, что новая прошивка скачалась целиком и без ошибок.
Самый простой способ - взять МК с запасом собственной Flash. С таким расчетом, чтобы после прошивки оставалось не меньше половины свободного места. Тактика такая: новую прошивку прошиваем сначала на свободное место флэша - на верхние свободные адреса памяти. Тут мы ничем не рискуем, даже если связь по дороге оборвется или новая прошивка придет с ошибками. Когда загрузка новой прошивки будет завершена, приступаем к ее проверке - тут самое простое проверить по контрольной сумме. Убедившись, что новая прошивка хороша, переписываем новую провшику из верхних адресов флэш-памяти в нижние, чем и замещаем старую прошивку на новую. Код в верхних адресах стирать нет необходимости. Этот подход удобен еще и тем, что на время копирования из верхней памяти в нижную, можно заблокировать все прерывания, чтобы обезопасить процесс замещения. В то время как запись фрагментов новой прошивки в верхнюю память осуществляется в обычном режиме, т.к. работу МК повредить не может.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- KIG   Самопрограммирование AVR МК   Nov 28 2009, 13:12
- - mempfis_   Цитата(KIG @ Nov 28 2009, 17:12) Здравств...   Nov 28 2009, 13:47
- - KIG   Процесс замены прошивки организован с помощью прог...   Nov 28 2009, 16:20
|- - Xenia   Цитата(KIG @ Nov 28 2009, 19:20) Вариант ...   Nov 28 2009, 17:17
- - Александр Куличок   ЦитатаИсходника серверной программы у меня нет, по...   Nov 28 2009, 17:29
- - KIG   Подскажите, пожалуйста, можно ли использовать прер...   Dec 4 2009, 17:46
|- - SasaVitebsk   Цитата(KIG @ Dec 4 2009, 21:46) Подскажит...   Dec 4 2009, 19:35
- - KIG   Компилирую программу загрузчика в ICC AVR.В настро...   Dec 5 2009, 12:32
|- - V_G   Цитата(KIG @ Dec 5 2009, 22:32) Компилиру...   Dec 5 2009, 14:09
- - KIG   ЦитатаНе понял, а почему конечный адрес меньше нач...   Dec 5 2009, 15:45
- - SysRq   Цитата(KIG @ Dec 5 2009, 15:32) В настрой...   Dec 6 2009, 04:10
- - KIG   Опять к вопросу о прерываниях в режиме бутлоадера....   Dec 11 2009, 17:58
|- - demiurg_spb   Цитата(KIG @ Dec 11 2009, 20:58) ...что н...   Dec 11 2009, 18:46
- - KIG   В AVRStudio прерывание от UARTa срабатывает, все н...   Dec 11 2009, 18:58
|- - V_G   Цитата(KIG @ Dec 12 2009, 04:58) В AVRStu...   Dec 12 2009, 11:08
- - Shtil   Всем доброго времени суток. Столкнулся с проблемой...   Mar 12 2010, 10:56
- - _Pasha   Цитата(Shtil @ Mar 12 2010, 13:56) Прошив...   Mar 13 2010, 09:58


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

 


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


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