Сергей Борщ, связь дусторонняя, отправить могу хоть байт, хоть бит хоть сколько влезет в РАМ (сектор влезет) Ваш алгоритм вцелом подходит. У моего девайса следующий алгоритм работы:
-девайс все вермя получает данные по радиоканалу и отправляет их дальше через UART на РС.
-с РС по UART я отсылаю команду на прошивку, девайс встает в паузу и ждет повтора запроса на прошивку (на случай если ошибочно отправил команду)
-далее выполняется пошивки по-битно/байтно/как удобно
алгоритм самой прошивки я хотел сдлеать такой:
-получаю бит/байт и стартовый адрес,
-проверяю не получил ли я команду конца прошивки /символ q например/,
-перехожу в стартовый адрес, стираю флеш,
-записываю полученный бит/байт, адрес++,
-получаю следующий бит/байт, проверяю на конец прошивки и записываю и т.д. до получения 'q'
после чего надо свериться снуля с прошивкой которую загрузил (на случай вдруг какой из пакетов потерялся), если проверка FAIL, то все сначала, если ОК - делаем ресет, дабы новая пошивка подцепилась (во всех последущих прошивках будет использоваться такой же метод обновления)
первая прошивка с этим "модулем" конечно же будет заливаться по JTAG с ПК или "полевым программатором"
Сообщение отредактировал Desperanto - Feb 17 2011, 10:02