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

 
 
> Самообновление bootloader AVR
MVJ
сообщение Feb 3 2011, 09:11
Сообщение #1


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

Группа: Участник
Сообщений: 172
Регистрация: 9-10-06
Пользователь №: 21 119



В даташитах и в AVR109 упоминается, что есть возможность для загрузчика прошивать самого себя, но детально принцип не описан. Если загрузчик занимает более одной страницы, то, очевидно, уже после прошивки первой страницы целостность программы нарушится (могут поменяться распределение памяти, адреса вызова функций), и она не будет корректно работать. Где бы что почитать по этому вопросу?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_Pasha
сообщение Feb 4 2011, 16:03
Сообщение #2


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Я тут подумал,как оно должно выглядеть.
1. Имеется ядро с Do_SPM, я уже говорил.
2. Перепрошить загрузчик может аппликуха, забив все имеющееся ОЗУ кодами загрузчика, построив системный вызов, т.е что надо передать в регистрах - crc16 памяти, начальный адрес блока, размер и может еще что-то. Дальше -jmp Boot
3. После прошивки - верификация и ресетимся, если все ок, либо jmp 0 если засада. В крайнем случае, само ядро может пропатчить точку входа. Это пока не продумано.
4. Если теперь управление перехватывает загрузчик, можно менять аппликуху.
кто поделится мыслями о том, как унифицировать понятие "живой загрузчик" ?
ЗЫ придумал. Когда вызываем Boot с определенными значениями в регистрах - сбрасываем оттуда собаку.
Не думаю, что изложил мысль понятно, попробую написать программу.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- MVJ   Самообновление bootloader AVR   Feb 3 2011, 09:11
- - dimka76   Т.е. вы хотите, чтобы загрузчик обновлял сам себя....   Feb 3 2011, 10:16
|- - MVJ   Цитата(dimka76 @ Feb 3 2011, 14:16) 1. Мо...   Feb 3 2011, 10:54
|- - _Pasha   Цитата(MVJ @ Feb 3 2011, 13:54) 1. В AVR1...   Feb 3 2011, 11:06
|- - MVJ   Цитата(_Pasha @ Feb 3 2011, 15:06) это ло...   Feb 3 2011, 11:25
|- - _Pasha   Цитата(MVJ @ Feb 3 2011, 14:25) Если я пр...   Feb 3 2011, 11:31
|- - MVJ   Цитата(_Pasha @ Feb 3 2011, 15:31) Не обя...   Feb 3 2011, 11:53
|- - _Pasha   Цитата(MVJ @ Feb 3 2011, 14:53) Из AVR109...   Feb 3 2011, 12:15
||- - Сергей Борщ   QUOTE (_Pasha @ Feb 3 2011, 14:15) Непоня...   Feb 3 2011, 13:01
||- - _Pasha   Цитата(Сергей Борщ @ Feb 3 2011, 16:01) В...   Feb 3 2011, 13:36
||- - MVJ   Цитата(_Pasha @ Feb 3 2011, 17:36) Значит...   Feb 3 2011, 13:49
||- - _Pasha   Цитата(MVJ @ Feb 3 2011, 16:49) А как же ...   Feb 3 2011, 14:09
||- - Палыч   Непонятно: зачем нужно обновлять bootloader? Ну, п...   Feb 3 2011, 14:21
||- - MVJ   Цитата(Палыч @ Feb 3 2011, 18:21) ..сдела...   Feb 4 2011, 10:52
||- - Палыч   Цитата(MVJ @ Feb 4 2011, 13:52) ...то пол...   Feb 4 2011, 11:21
|||- - MVJ   Цитата(Палыч @ Feb 4 2011, 15:21) Если ра...   Feb 4 2011, 12:23
||- - mempfis_   Цитата(MVJ @ Feb 4 2011, 14:52) Действите...   Mar 23 2011, 11:04
||- - Палыч   Цитата(mempfis_ @ Mar 23 2011, 14:04) Поэ...   Mar 23 2011, 12:15
|- - dimka76   Цитата(MVJ @ Feb 3 2011, 14:53) Из AVR109...   Feb 4 2011, 06:34
|- - _Pasha   Цитата(dimka76 @ Feb 4 2011, 10:34) Дейст...   Feb 4 2011, 07:50
|- - dimka76   Цитата(_Pasha @ Feb 4 2011, 10:50) А там,...   Feb 4 2011, 08:01
|- - Палыч   Цитата(_Pasha @ Feb 4 2011, 10:50) А там,...   Feb 4 2011, 08:46
|- - _Pasha   Цитата(Палыч @ Feb 4 2011, 12:46) Если хо...   Feb 4 2011, 09:03
- - kovigor   Цитата(MVJ @ Feb 3 2011, 12:11) В даташит...   Feb 4 2011, 10:01
|- - Палыч   Цитата(kovigor @ Feb 4 2011, 13:01) Загру...   Feb 4 2011, 10:13
|- - delamoure   Цитата(Палыч @ Feb 4 2011, 12:13) Я тоже ...   Feb 14 2011, 10:38
- - BigallS   Есть хорошая статья по этой теме http://easyelectr...   Mar 23 2011, 10:43


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

 


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


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