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

 
 
> Вектора прерываний в области загрузчика
IEC
сообщение Jul 23 2005, 07:34
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 263
Регистрация: 22-03-05
Из: г. Харьков, Украина
Пользователь №: 3 598



Прошу прощения за вопрос, но чего-то я не понимаю!
Пытаюсь на Mega128 переместить векторы прерываний в область загрузчика,
но никак не получается.
Есть программа, которая работает с прерываниями таймера, которые расположены в нормальном месте tongue.gif
Установка в регистре MCUCR битов IVCE IVSEL в требуемом порядке ни к чему не приводит cranky.gif
Т.Е. преывания как обрабатывались, так и обрабатываются!
По логике.камень должен был улететь. Или я не прав?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
IEC
сообщение Aug 4 2005, 08:36
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 263
Регистрация: 22-03-05
Из: г. Харьков, Украина
Пользователь №: 3 598



"Докладаю: чуть заря, Федя отбыл за моря..." (классика)

Уф! Я его сделал (во всех смыслах)!
Результаты следующие(может кому будут интересны):
1. Все адреса в описании даются в кило-словах, а не кило-байтах. Соответственно надо загрузчик располагать с адреса *2. В моем случае 0F000h*2=1E000h!!!
2. Для тех кого клинит (см. выше) сообщаю, что перенос векторов обработки прерываний в область загрузчика есть (они не могут ни есть)! Для этого мне пришлось не идти по пути, предложенному разработчиками, а написать немного иначе:
MCUCR=0x01;
MCUCR=0x02;
3. Для того, чтобы запись флеша производилась в нижнюю область памяти пришлось принудительно установить флаг работы с ней (почему-то по умолчанию не захотел):
RAMPZ=0x00

Если результаты моих изысканий кому-нибудь помогут - очень рад!
Кто все это значет - жаль, что не помогли раньше! Время борого!!!
Go to the top of the page
 
+Quote Post
skopus
сообщение Jan 31 2006, 10:45
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 65
Регистрация: 31-08-05
Из: Moscow
Пользователь №: 8 124



Цитата(IEC @ Aug 4 2005, 11:36) *
1. Все адреса в описании даются в кило-словах, а не кило-байтах. Соответственно надо загрузчик располагать с адреса *2. В моем случае 0F000h*2=1E000h!!!


очень ценное наблюдение! Всю голову сломал - пытался понять почему векторы прерываний из даташита меги128 не совпадают с векторами, которые генерит IAR MakeApp
Go to the top of the page
 
+Quote Post



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

 


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


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