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

 
 
> требуется совет по бутлоадеру
romez777
сообщение May 8 2008, 02:17
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 292
Регистрация: 9-11-04
Пользователь №: 1 077



Всем привет.

Нужен совет по организации загрузчика. Бутлоадер принимает образ приложения по USB, само фирмваре(загружаемое бутлоадером) также активно общается с хостом (посредством Windows приложения), никаких кнопок на устройстве нет.

Простой протокол загрузки фирмваре такой: бут посылает символ готовности, и после его приема Windows-приложение начинает заливать образ блоками, равными размеру страницы, приме и запись каждого блока подтверждается загрузчиком (отпавляется ack). Когда передача закончена, хост сообщает об этом бут-лоадеру и тот переходит на адрес, по которому залили приложение.

Нужно сделать как-то так, чтобы если в течение N секунд нет попытки заливать образ, лоадер сразу перескакивал на приложение. Не могу сообразить как это сделать. Может быть у вас будут какие-то соображения.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ig_z
сообщение May 8 2008, 08:16
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 437
Регистрация: 27-08-04
Пользователь №: 551



Цитата(romez777 @ May 8 2008, 05:17) *
Нужно сделать как-то так, чтобы если в течение N секунд нет попытки заливать образ, лоадер сразу перескакивал на приложение. Не могу сообразить как это сделать. Может быть у вас будут какие-то соображения.


У атмеля есть 2 апнота на тему - одно пофундаментальней, другое попрактичней. И их подход более правильный (имхо). Пример использования подобных идей - хорошо известный жлинк. Там обеспечена полная неубиваемость прибора. Хотя у меня он все же каким то образом погиб.

В двух словах идея звучит так:
-При включении бутлоадер проверяет рабочую и буферную область флеши. Здесь д.б. возможны три варианта из четырех:
1. обе области имеют правильное содержимое. Тогда буферная облать переносится бутлоадером в рабочую и стартует.
2. буферная область не валидна. Стартует рабочая область.
3. рабочая область не валидна. Бутлоадер копирует буферную част в рабочую и стартует.

Код апдейта буферной части принадлежит самому приложению и может быть сколь угодно сложным в транспортном и секретном смысле. Основная задача бутлоадера - делать правильный выбор между двумя копиями в рабочей и буферной области.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 19th August 2025 - 17:44
Рейтинг@Mail.ru


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