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

 
 
> Прерывания в Atmega128
zuuuuk
сообщение Mar 11 2015, 07:16
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 188
Регистрация: 26-04-07
Пользователь №: 27 334



Подскажите, a где хранятся вектора прерываний
для ATmega?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
alexeyv
сообщение Mar 13 2015, 08:57
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 298
Регистрация: 26-01-09
Из: Пермь
Пользователь №: 43 940



to Xenia!
Это экзамен?
1. 0x00, 0x02, 0x04 и т.п. - это СЛОВАРНЫЕ адреса. AVR хоть и 8-ми разрядный МК, но память программ у него 16-ти битная

2. действительно на каждый вектор отводится 4 байта (у ТС это m1281/1280, разговор не идет про m8). Смотрим любой листинг:
Код
       0:    0c 94 6f 03     jmp    0x6de; 0x6de <__ctors_end>
       4:    0c 94 8c 03     jmp    0x718; 0x718 <__bad_interrupt>
       8:    0c 94 8c 03     jmp    0x718; 0x718 <__bad_interrupt>
       c:    0c 94 8c 03     jmp    0x718; 0x718 <__bad_interrupt>
      10:    0c 94 8c 03     jmp    0x718; 0x718 <__bad_interrupt>
      14:    0c 94 8c 03     jmp    0x718; 0x718 <__bad_interrupt>
      18:    0c 94 75 15     jmp    0x2aea; 0x2aea <__vector_6>
      1c:    0c 94 8a 15     jmp    0x2b14; 0x2b14 <__vector_7>
      20:    0c 94 9f 15     jmp    0x2b3e; 0x2b3e <__vector_8>
      24:    0c 94 8c 03     jmp    0x718; 0x718 <__bad_interrupt>

0c 94 - это команда jmp, вторые два байта - 16-ти разрядный адрес перехода

3. Про смещение. 0x00 - адрес перехода по ресету (так сказать немаскируемое прерывание у AVR МК), соответственно 0x02 - начало таблицы остальных прерываний

4. Условно всю таблицу прерываний можно разделить на две части: область перехода по ресету и область переходов по остальным прерываниям. FUSE-бит BOOTRST отвечает только за размещения области перехода по ресету, а бит IVSEL в MCUCR (относительно m1281/1280) - за размещение остальной таблицы переходов по прерываниям (причем смещение у нее равно 2 слова - для перехода по ресету в случае совпадения области размещения двух частей таблицы). Отсюда и возникают четыре варианта размещения всей таблицы.

5. По всем остальным возникающим вопросам можно почитать даташит (у ТС это m1281/1280): раздел 13 "Interrupts". Я не очень хороший учитель

Сообщение отредактировал alexeyv - Mar 13 2015, 09:09
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- zuuuuk   Прерывания в Atmega128   Mar 11 2015, 07:16
- - Xenia   Цитата(zuuuuk @ Mar 11 2015, 10:16) Подск...   Mar 11 2015, 07:20
- - zuuuuk   То есть программа стартует с этих таблиц?   Mar 11 2015, 07:26
|- - Xenia   Цитата(zuuuuk @ Mar 11 2015, 10:26) То ес...   Mar 11 2015, 07:30
- - zuuuuk   А если я применяю boot загрузчик То эти вектора в...   Mar 11 2015, 07:38
|- - Xenia   Цитата(zuuuuk @ Mar 11 2015, 10:38) А есл...   Mar 11 2015, 07:41
- - alexeyv   http://www.gaw.ru/html.cgi/txt/doc/micros/avr/inde...   Mar 11 2015, 07:40
- - alexeyv   ЦитатаЯ полагаю, что у bootloader'а своя табли...   Mar 11 2015, 09:51
|- - demiurg1978   Цитата(alexeyv @ Mar 11 2015, 15:51) не с...   Mar 12 2015, 09:55
|- - pavel-pervomaysk   Цитата(demiurg1978 @ Mar 12 2015, 11:55) ...   Mar 12 2015, 10:14
|- - demiurg1978   Цитата(pavel-pervomaysk @ Mar 12 2015, 1...   Mar 12 2015, 10:19
- - pavel-pervomaysk   AT90CAN Boot... CODE.cseg .org THIRDBOOTSTART ...   Mar 12 2015, 08:54
- - alexeyv   BOOTRST_____IVSEL__Адрес сброса___________________...   Mar 13 2015, 04:18
|- - Xenia   Цитата(alexeyv @ Mar 13 2015, 07:18) Что ...   Mar 13 2015, 05:25
- - Xenia   Цитата(alexeyv @ Mar 13 2015, 11:57) to X...   Mar 13 2015, 21:36
|- - Палыч   Цитата(Xenia @ Mar 14 2015, 01:36) Какое ...   Mar 14 2015, 06:34
|- - Xenia   Цитата(Палыч @ Mar 14 2015, 09:34) Ну, чт...   Mar 14 2015, 07:15
|- - Палыч   Цитата(Xenia @ Mar 14 2015, 11:15) вектор...   Mar 14 2015, 08:37
- - alexeyv   to Xenia. 1. Вы конечно абсолютно правы, но мои ра...   Mar 16 2015, 03:46


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

 


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


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