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

 
 
> Прерывания в бутлоадере
Skaf
сообщение Nov 4 2010, 18:18
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 228
Регистрация: 4-06-09
Пользователь №: 49 940



Всем привет. Пожалуйста подскажите как перенести обработчики прерываний в бутлоадер. Atmega16. Я знаю что там есть какой-то бит IVSEL для этого. Меня интересует как прописать все это на си в AVR GCC. Какие есть там подводные камни. Где можно про это почитать?

Сообщение отредактировал Skaf - Nov 4 2010, 18:19
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Skaf
сообщение Nov 7 2010, 15:36
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 228
Регистрация: 4-06-09
Пользователь №: 49 940



У меня возникла проблема с тем, что компилятор оптимизирует мой код и

Код
void Move_interrupts(void)
{
/* Enable change of interrupt vectors */
MCUCR = (1<<IVCE);
/* Move interrupts to boot flash section */
MCUCR = (1<<IVSEL);
}


вовсе не представляет собой два последовательных изменения регистра MCUCR в ассемблерном коде... Никак не получается отвадить его от этой затеи...
Go to the top of the page
 
+Quote Post
Палыч
сообщение Nov 7 2010, 15:57
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Skaf @ Nov 7 2010, 18:36) *
не представляет собой два последовательных изменения регистра MCUCR в ассемблерном коде...

Между ними, наверное, команда ldi ? В четыре такта укладываетесь - что же Вам ещё нужно?
Go to the top of the page
 
+Quote Post



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

 


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


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