例外ベクタを調べた (2) [ColdFire V2]
例外ベクタを調べる二回目は、割り込みコントローラ0が発行する例外について調べます。
割り込みコントローラ0が発行する例外
MCF52233の二つの割り込みコントローラのうちINTC0は、ベクタ番号64から127までの割り込みを受け付けます。
ベクタ番号 | ベクタ・アドレス | ベクタ | 用途 |
---|---|---|---|
64 | 0x100 | 0x000115E0 | 未使用 |
65 | 0x104 | 0x000115E0 | エッジ・ポート1 |
66 | 0x108 | 0x000115E0 | エッジ・ポート2 |
67 | 0x10C | 0x000115E0 | エッジ・ポート3 |
68 | 0x110 | 0x000115E0 | エッジ・ポート4 |
69 | 0x114 | 0x000115E0 | エッジ・ポート5 |
70 | 0x118 | 0x000115E0 | エッジ・ポート6 |
71 | 0x11C | 0x000115E0 | エッジ・ポート7 |
72 | 0x120 | 0x000115E0 | ウォッチ・ドッグ |
73 | 0x124 | 0x000115E0 | DMA0 |
74 | 0x128 | 0x000115E0 | DMA1 |
75 | 0x12C | 0x000115E0 | DMA2 |
76 | 0x130 | 0x000115E0 | DMA3 |
77 | 0x134 | 0x000008A4 | UART0 |
78 | 0x138 | 0x000115E0 | UART1 |
79 | 0x13C | 0x000115E0 | UART2 |
80 | 0x140 | 0x000115E0 | 未使用 |
81 | 0x144 | 0x000115E0 | I2C |
82 | 0x148 | 0x000115E0 | QSPI |
83 | 0x14C | 0x000115E0 | DMA Timer 0 |
84 | 0x150 | 0x000115E0 | DMA Timer 1 |
85 | 0x154 | 0x000115E0 | DMA Timer 2 |
86 | 0x158 | 0x000115E0 | DMA Timer 3 |
87 | 0x15C | 0x00003378 | FEC TX frame |
88 | 0x160 | 0x000033B0 | FEC TX buffer |
89 | 0x164 | 0x000033C0 | FEC TX underrun |
90 | 0x168 | 0x000032D0 | FEC Collision retry limit |
91 | 0x16C | 0x000031E4 | FEC RX frame |
92 | 0x170 | 0x000032E0 | FEC RX buffer |
93 | 0x174 | 0x000032F0 | FEC MII |
94 | 0x178 | 0x00003300 | FEC Late Collision |
95 | 0x17C | 0x00003310 | FEC Heartbeat error |
96 | 0x180 | 0x00003338 | FEC Graceful stop complete |
97 | 0x184 | 0x00003348 | FEC Ethernet bus error |
98 | 0x188 | 0x00003358 | FEC Babbling TX error |
99 | 0x18C | 0x00003368 | FEC Babbling RX error |
100 | 0x190 | 0x000031D4 | EPHY |
101 | 0x194 | 0x000115E0 | 未使用 |
102 | 0x198 | 0x000115E0 | 未使用 |
103 | 0x19C | 0x000115E0 | 未使用 |
104 | 0x1A0 | 0x000115E0 | 未使用 |
105 | 0x1A4 | 0x000115E0 | GPT オーバフロー |
106 | 0x1A8 | 0x000115E0 | GPT PAC入力 |
107 | 0x1AC | 0x000115E0 | GPT PAC オーバフロー |
108 | 0x1B0 | 0x000115E0 | GPT チャネル0 |
109 | 0x1B4 | 0x000115E0 | GPT チャネル1 |
110 | 0x1B8 | 0x000115E0 | GPT チャネル2 |
111 | 0x1BC | 0x000115E0 | GPT チャネル3 |
112 | 0x1C0 | 0x000115E0 | 低電圧検出 |
113 | 0x1C4 | 0x000115E0 | A/Dコンバータ A |
114 | 0x1C8 | 0x000115E0 | A/Dコンバータ B |
115 | 0x1CC | 0x000115E0 | A/Dコンバータ割り込み |
116 | 0x1D0 | 0x000115E0 | PWM |
117 | 0x1D4 | 0x000115E0 | RNGA |
118 | 0x1D8 | 0x000115E0 | 未使用 |
119 | 0x1DC | 0x00001878 | PIT0 |
120 | 0x1E0 | 0x000115E0 | PIT1 |
121 | 0x1E4 | 0x000115E0 | 未使用 |
122 | 0x1E8 | 0x000115E0 | 未使用 |
123 | 0x1EC | 0x000115E0 | Flash buffer empty |
124 | 0x1F0 | 0x000115E0 | Flash command complete |
125 | 0x1F4 | 0x000115E0 | Flash Protection violation |
126 | 0x1F8 | 0x000115E0 | Flash Access error |
127 | 0x1FC | 0x000115E0 | RTC |
こうして見ると、ほとんどが「その他の例外処理ルーチン」である0x000115E0をベクタとして持っています。 使用されているのは、Etherポートの全てとUART0とPIT0です。 これまで調べてきて分かったように、PIT0がオペレーティング・システムの10ミリ秒タイマに使用されており、EthernetとUART0がSilentCとのインターフェースに使用されています。
これらのベクタは、ROMに書き込まれているため、そのままでは使えないと思います。 もし、「その他の例外処理ルーチン」が、割り込み要因によって分岐するような仕掛けを持っていれば、その仕組みを使うことも出来ます。 さて、本当にそんな仕掛けが入っているんだろうか?
参考文献
Interface (インターフェース) 2008年 09月号 [雑誌]
- 作者:
- 出版社/メーカー: CQ出版
- 発売日: 2008/07/25
- メディア: 雑誌
コメント 0