Здравствуйте товарищи !
У меня проблема - не могу въехать в принцип организации таблицы векторов прерываний данного процессора. То что Reset по адрессу 0x0000 0000 - это понятно. Источников прерываний - 32. Так как команды 4-х байтные, то адреса должны идти с шагом 4.
Т.е. что нибудь наподобии: 0x0000 0000 - Reset 0x0000 0004 - INT1 0x0000 0008 - INT2 ..... 0x0000 007C - INT31
Но вот вопрос, почему компилятор IAR выделяет под таблицу только 32 байта:
Disassembly of section .data: ... 0x00300000 ldr pc, [pc, #24] ; 0x00300020 0x00300004 andeq r0, r0, r0 0x00300008 ldr pc, [pc, #24] ; 0x00300028 ...
Или я не правильно понял организацию таблици векторов прерываний, или это IAR глючит? Вообще, если кто имел дело с этим процом, подскажите каким образом у него организована таблица векторов. В Datasheet на AT91SAM9263 её почемуто нет.
Или может есть только 8 векторов, в зависимости от приоритета прерывания. А обработчик должен сам искать источник прерывания?
Заранее спасибо.
|