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

 
 
> Организация USB перепрошивщика...
Gizma
сообщение Aug 24 2009, 16:52
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 57
Регистрация: 3-09-08
Пользователь №: 39 972



Привет!

Значит нужно реализавать следующую штуку...
Есть некий девайс в который пользователь вставляет флешку, выбирает функцию смены прошивки, девайс находит *.hex в roote и себя перешивает, причем он должен перешиваться полностью, вместе с лодером с помощью которого он перешиваеться (лодер также должен уметь сгружаться с флешки некие параметры для проги...)... это все на LPC2468...

Как я себе это представляю... в начале в память зашит лодер потом прога...

Как только юзер выбирает смену прошивки, происходит проверка на валидность прошивки, потом лодер копируеться в самый конец памяти и устанавливает старт контроллера на себя, запускаеться оттуда и начинает переписывать прошивку, как только она произведена успешно, лодер устанавливает старт на начало новой прошивки т.е. на новый лодер... в таком раскладе если запись прошивки произошла неудачно, к примеру питание упало, тогда прога стартует со старого лодера и сразу автоматом грузит новую прошивку, если прошивка записалась криво, будет возможность вернуться к стаарому работающему лодеру и повторить прошивку...

Но это все мои измышления, наверняка сея проблема распространена и есть какие либо классические решения...
Может чего присоветуете?

П.С. Как можно програмно переустанавливать точки старта в LPC? Можно ли вообще?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Aug 24 2009, 16:59
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Основной принцип - начальный bootloader не перезаписывается никогда! Потому, что в противном случае есть очень большая вероятность получить полностью неработающее устройство.
Если хочется модифицировать загрузчик: дополнить его шифрованием, поддержкой новых каналов/интерфейсов для загрузки и т.п., то с помощью основного bootloader загружается дополнительный bootloader, который и реализует все эти новые фичи.
Go to the top of the page
 
+Quote Post
microsin
сообщение Oct 18 2009, 11:40
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 27-11-08
Пользователь №: 41 999



Цитата(rezident @ Aug 24 2009, 19:59) *
Основной принцип - начальный bootloader не перезаписывается никогда!

Это не всегда так. Bootloader можно восстановить простым ISP-программатором (например для чипа AT90USB162 см. http://microsin.ru/content/view/685/). Кроме того, есть чипы с "неудаляемыми" bootloader-ами, например AT91SAM7X256 (http://microsin.ru/content/view/779/44/). В этом чипе bootloader восстановится автоматически, стоит стереть чип (установка перемычки ERASE на 10 секунд).

Сообщение отредактировал microsin - Oct 18 2009, 11:42
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 14:55
Рейтинг@Mail.ru


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