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

 
 
> удаленное программирование, wavecom & mega32
demon_lee
сообщение Mar 31 2009, 09:19
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 21-04-06
Из: спб
Пользователь №: 16 353



поиском пользовался, помогло мало.
я в тему бутлоадера ещё не въехал.
то есть как реализовать пока понятия не имею, и вопрос у меня пока ни в контретный строках кода,
а в алгоритме по которому это надо сделать.
в вэйвкоме памяти достаточно чтоб хранить прошивку для меги32, хотя можно и фрамку прикрутить.
сейчас они по и2с общаются но можно и на СПИ перевести.
вэйвком опрашивает мегу, та в свою очередь отдает массив 512 байт - это основная работа меги.
я думаю следить за валидностью прошивки и за целостностью мне нет необходимости,
хотя успешный результат программирования тоже интересен. (это проверить не сложно на вэйвкоме)
прошивать буду только по требованию (через СМС) и вот от сюда не знаю как делать дальше.
надо ли ресетить мегу, что куда подсовывать, куда писать, от куда читать.
гуглил на эту тему по делу мало sad.gif вот нашел загрузчик через UART может получиться переделать под себя.
помогите советом. Рад буду любой помощи.

а может вообще есть человек который поможет это сделать, за вознаграждение.

для справки вэйвком забирает прошивку по ФПТ через ГПРС и положит её куда надо будет.

здравый смысл подсказывает что в меге должен быть только будлоадер, и каждый раз после ребута приложение будет грузиться из внешней памяти, а если что не так то сказать модему что мол так и так проблема с загрузкой.
по требованию мы лишь перепишем содержимое памяти, а после ребута загрузиться новая прошивка.
(административное управление на вейвкоме будет, т.е. ресет меги, заливка прошивки в память и т.д.)
как такой подход?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SasaVitebsk
сообщение Mar 31 2009, 18:24
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Обычно алгоритм такой:
Прога в м32 состоит из 2 независимых частей: приложение и бут.
При запуске (ресете) запускается всегда бут. Он проверяет целостность приложения и если оно цело, то запускает его. Иначе ждёт загружаемого кода приложения.
При работе приложения нужно по какому-то алгоритму инициировать старт бута.
Бут работает по любому каналу (какой выбирете). Это может быть и I2C и SPI и RS485 и т.д. Есть понятие протокола, то есть как формируются пакеты, где команды указываются, как контрольная сумма считается, что делать если она неверна и т.д.

Я бы рекомендовал также предусмотреть команду выдачи текущей версии по запросу.

Возможно также прошивку хранить во внешней EEPROM. Например в I2C EEPROMе. То есть грузить туда, а при перестарте перезаливать во флэш. (Обычно это делается "на лету").
Go to the top of the page
 
+Quote Post
demon_lee
сообщение Mar 31 2009, 19:20
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 21-04-06
Из: спб
Пользователь №: 16 353



Цитата(SasaVitebsk @ Mar 31 2009, 22:24) *
При запуске (ресете) запускается всегда бут. Он проверяет целостность приложения и если оно цело, то запускает его.

то есть проверяет целостность прямо у себя во флеши?
Цитата(SasaVitebsk @ Mar 31 2009, 22:24) *
При работе приложения нужно по какому-то алгоритму инициировать старт бута.

этим будет рулить модем, я демаю он будет ресетить мегу, а та при старте начнет искать прошивку.
Цитата(SasaVitebsk @ Mar 31 2009, 22:24) *
Есть понятие протокола, то есть как формируются пакеты, где команды указываются, как контрольная сумма считается, что делать если она неверна и т.д.

ну тут наверно стоит начинать изучать
http://www.gaw.ru/html.cgi/txt/doc/micros/...arh128/19_2.htm
http://www.gaw.ru/html.cgi/txt/app/micros/avr/AVR109.htm
я прав?
Цитата(SasaVitebsk @ Mar 31 2009, 22:24) *
Я бы рекомендовал также предусмотреть команду выдачи текущей версии по запросу.

это будет
Цитата(SasaVitebsk @ Mar 31 2009, 22:24) *
Возможно также прошивку хранить во внешней EEPROM. Например в I2C EEPROMе. То есть грузить туда, а при перестарте перезаливать во флэш. (Обычно это делается "на лету").

чтобы упростить программу бута, картина вырисовывается такая:
ресет, старт бута, он по SPI из внешней еепромки качает приложение себе, проверяет, стартует, работает
при необходимости ребутим мегу, предварительно залив вовнешнюю еепром программу.
логично.
но тогда вопрос, а можно ли одним контроллером в еепром писать, а другим из неё читать на примере spi (просто у меня по и2с обмен с модемом сделан, а он слейвом на шине быть отказывается).
я это как бы сказать...чайник в этом деле
Go to the top of the page
 
+Quote Post



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

 


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


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