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

 
 
> таблица векторов прерываний, перенос в область boot..
Legotron
сообщение Mar 10 2009, 10:43
Сообщение #1


инопланетянин
***

Группа: Свой
Сообщений: 236
Регистрация: 24-12-06
Из: Питер
Пользователь №: 23 832



Доброго времени суток!

ATMega644, WinAVR 20081124rc3

Возникла проблема: не удается перенести таблицу векторов прерываний в область загрузчика sad.gif
Необходимо изменить IVSEL в течении 4 машинных циклов, пока активен IVCE?

Цитата(ATMega644 Datasheet)
To avoid unintentional changes of Interrupt Vector tables, a special write procedure must
be followed to change the IVSEL bit:
a. Write the Interrupt Vector Change Enable (IVCE) bit to one.
b. Within four cycles, write the desired value to IVSEL while writing a zero to IVCE.


Делаю следующее:
Код
MCUCR |= (1 << IVCE);
MCUCR |= (1 << IVSEL);
MCUCR &= ~(1 << IVCE);


Оптимизация -Os:
Код
MCUCR |= (1 << IVCE);
                           e000:    85 b7           in    r24, 0x35   ; 53
                           e002:    81 60           ori    r24, 0x01   ; 1
                           e004:    85 bf           out    0x35, r24   ; 53
MCUCR |= (1 << IVSEL);
                           e006:    85 b7           in    r24, 0x35   ; 53
                           e008:    82 60           ori    r24, 0x02   ; 2
                           e00a:    85 bf           out    0x35, r24   ; 53
MCUCR &= ~(1 << IVCE);
                           e00c:    85 b7           in    r24, 0x35   ; 53
                           e00e:    8e 7f           andi    r24, 0xFE   ; 254
                           e010:    85 bf           out    0x35, r24   ; 53


По результатам проверки на практике, таблица осталась в области приложения..
Что я делаю неверно, как нужно правильно делать?

Спасибо!
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 06:07
Рейтинг@Mail.ru


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