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

 
 
> Прерывания в бутлоадере
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 5 2010, 16:24
Сообщение #2


Местный
***

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



Ну это все понятно. А компилятор сам разместит процедуры обработки прерываний в области бутлоадера?

ISR(TWI_vect){
...
}
Go to the top of the page
 
+Quote Post
artymen
сообщение Nov 5 2010, 18:56
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 6-11-09
Из: г. Омск
Пользователь №: 53 464



Цитата(Skaf @ Nov 5 2010, 22:24) *
Ну это все понятно. А компилятор сам разместит процедуры обработки прерываний в области бутлоадера?

ISR(TWI_vect){
...
}

Да, в том случае, если этот проект вы компилируете как бутлоадер, передавая gcc параметр
Код
-Wl,--section-start=.text=0xXXXX
, указывающий линковщику разместить весь код вместе с таблицей векторов начиная с адреса 0xXXXX (в байтах!).
Вот даже есть makefile для бутлоадера: http://easyelectronics.ru/img/AVR_kurs/Bootloader/makefile
А вот неплохой FAQ для gcc: http://blog.schicks.net/wp-content/uploads...tloader_faq.pdf

Сообщение отредактировал artymen - Nov 5 2010, 18:59


--------------------
"Сознание своего несовершенства приближает к совершенству"
Гёте
Go to the top of the page
 
+Quote Post



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

 


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


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