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

 
 
> Проблема с Bootloader, изменять код бутлоадера
Gematogen
сообщение Oct 24 2005, 14:07
Сообщение #1





Группа: Новичок
Сообщений: 13
Регистрация: 18-10-05
Пользователь №: 9 808



Здравствуйте!

У меня возник следующий вопрос: может ли функция, находящаяся в Application Section (Atmega 128), изменять код Boot Loader Section или нет?
Я пробовал вызывать эту ф-ю из программной области и из области бутлоадера, но данные в секции бутлоадера изменялись только во втором случае, хотя во всех ячейках защиты прописан полный доступ к обеим секциям!?

Если код из прикладной области неспособен изменить бутлоадер, то как тогда может бутлоадер перепрошить сам себя (очень нужна такая возможность, т.к. прошивка передается по модему и хотелось бы менять не только програмную область, но и область бутлоадера)?!

P.S:
Подскажите пожалуйста.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
arttab
сообщение Oct 25 2005, 04:19
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371



попробуйте в области загрузчика разместить функцию обнавления загрузчика. Т.е. в области загрузчика у Вас 2 функции: обнавления кода программы и обновление загрузчика. В этом варианте последняя фуекция без возможности обновления.
А если сделать 3 функции: обнавления кода программы, обновление загрузчика1 и обновление загрузчика2, то можно все обновить :))
Фишка в том что сама себя функция обновить не может. Код работает толька с флеша и его работа будет нарушена при попытки переписать самого себя.


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Oct 25 2005, 07:11
Сообщение #3


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(arttab @ Oct 25 2005, 07:19)
попробуйте в области загрузчика разместить функцию обнавления загрузчика.  Т.е. в области загрузчика у Вас 2 функции: обнавления кода программы и обновление загрузчика. В этом варианте последняя фуекция  без возможности обновления.
А если сделать 3 функции: обнавления кода программы, обновление загрузчика1 и обновление загрузчика2, то можно все обновить smile.gif)
Фишка в том что сама себя функция обновить не может. Код работает толька с флеша и его работа будет нарушена при попытки переписать самого себя.
*

Или, например, так. Загрузчик1 может обновить программу пользователя и Загрузчик2, а Загрузчик2 - только Загрузчик1.
Основная фишка в том, что перед тем, как писАть, надо стереть страницу.
Поэтому в *.xcl файле надо выделить две области для загрузчиков строго по границе страницы.
В этом случае решение задачи видится довольно просто.
Go to the top of the page
 
+Quote Post
arttab
сообщение Oct 25 2005, 07:38
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371



Цитата(IgorKossak @ Oct 25 2005, 14:11)
Или, например, так. Загрузчик1 может обновить программу пользователя и Загрузчик2, а Загрузчик2 - только Загрузчик1.
Основная фишка в том, что перед тем, как писАть, надо стереть страницу.
Поэтому в *.xcl файле надо выделить две области для загрузчиков строго по границе страницы.
В этом случае решение задачи видится довольно просто.
*


Вообщем то и я про это говорил. Извените если не внятно выразился. Фишка имеено в том что нельзя работать и стирать один и тот же сегмент.


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post
rezident
сообщение Oct 26 2005, 21:49
Сообщение #5


Гуру
******

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



Цитата(arttab @ Oct 25 2005, 13:38)
Вообщем то и я про это говорил. Извените если не внятно выразился. Фишка имеено в том что нельзя работать и стирать один и тот же сегмент.
*

MSP430 может исполнять программу из Flash и одновременно писать во Flash. Правда у него BootLoader в ROM расположен и нестираемый. Но не в этом суть. Обычно BootLoader-ом грузят в ОЗУ "прошивальщик" и передают ему управление. А уже эта программа-"прошивальщик" программирует всю остальную Flash, включая область векторов прерываний. Сорри за наивный вопрос, в AVR это разве не так?
Go to the top of the page
 
+Quote Post



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

 


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


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