例外ベクタを調べた (3) [ColdFire V2]
例外ベクタを調べる三回目は、残りの128個の例外について調べます。
割り込みコントローラ1が発行する例外
MCF52233の二つの割り込みコントローラのうちINTC1は、ベクタ番号128から191までの割り込みを受け付けます。 INTC1が扱う例外は、 FLEXCAN と EPORT なので、この部分は未使用であることを期待していたのですが、なにやらアドレスらしきものがぎっしりと詰まっています。
00000200 00 00 1c c4 00 00 0b c4 ........ 00000208 00 00 0c dc 00 00 1d 58 .......X 00000210 00 00 19 84 00 00 1f 50 .......P 00000218 00 00 1e 80 00 00 1f 2c ......., 00000220 00 00 0e cc 00 00 0e 30 .......0 00000228 00 00 0f 9c 00 00 0d f8 ........ 00000230 00 00 0f 6c 00 00 0e ec ...l.... 00000238 00 00 0d 74 00 00 bf 08 ...t.... 00000240 00 00 7e cc 00 00 0a 00 ..~..... 00000248 00 00 0a 2c 00 00 0a a4 ...,.... 00000250 00 00 0a cc 00 00 0b 2c ......., 00000258 00 00 2f 2c 00 00 2d 34 ../,..-4 00000260 00 00 24 04 00 00 25 24 ..$...%$ 00000268 00 00 26 04 00 00 26 34 ..&...&4 00000270 00 00 26 d4 00 00 28 5c ..&...(\ 00000278 00 00 29 78 00 00 29 cc ..)x..). 00000280 00 00 2a 54 00 00 2a cc ..*T..*. 00000288 00 00 22 b0 00 00 48 48 .."...HH 00000290 00 00 49 80 00 00 5c e8 ..I...\. 00000298 00 00 5f ac 00 00 49 20 .._...I 000002a0 00 00 5d f4 00 00 5e e8 ..]...^. 000002a8 00 00 4f 1c 00 00 4e ec ..O...N. 000002b0 00 00 4b b8 00 00 4d 2c ..K...M, 000002b8 00 00 4c 20 00 00 4c bc ..L ..L. 000002c0 00 00 4c f4 00 00 60 c0 ..L...`. 000002c8 00 00 5c 7c 00 00 13 38 ..\|...8 000002d0 00 00 12 f4 00 00 13 e4 ........ 000002d8 00 00 16 dc 00 00 17 a4 ........ 000002e0 00 00 16 14 00 00 13 90 ........ 000002e8 00 01 15 e0 00 01 15 e0 ........ 000002f0 00 01 15 e0 00 01 15 e0 ........ 000002f8 00 01 15 e0 00 01 15 e0 ........
実は、割り込みコントローラを操作して、任意の例外を発生させる方法が無いわけではありません。 INTC1モジュールの INTFRCH1 と INTFRCH0 という二つのレジスタをセットすると該当する割り込みを発生させることが出来ます。 しかしながら、このレジスタを使ってもベクタ番号128の割り込みを発生させることは出来ないので、0x00000200番地にあるベクタは使用できないと思われます。
この仕掛けをシステム・コール代わりに使ったのでしょうか? 今のところは、想像しかできません。
ベクタ・テーブルだけの例外
0x00000300からの256バイトには、ベクタ番号192から255までに相当するベクタ・テーブルが置かれることになっていますが、MCF52233の場合には、この範囲の例外を発行するモジュールは存在しません。
00000300 00 01 15 e0 00 01 15 e0 ........ 00000308 00 01 15 e0 00 01 15 e0 ........ 00000310 00 01 15 e0 00 01 15 e0 ........ 00000318 00 01 15 e0 00 01 15 e0 ........ 00000320 00 01 15 e0 00 01 15 e0 ........ 00000328 00 01 15 e0 00 01 15 e0 ........ 00000330 00 01 15 e0 00 01 15 e0 ........ 00000338 00 01 15 e0 00 01 15 e0 ........ 00000340 00 01 15 e0 00 01 15 e0 ........ 00000348 00 01 15 e0 00 01 15 e0 ........ 00000350 00 01 15 e0 00 01 15 e0 ........ 00000358 00 01 15 e0 00 01 15 e0 ........ 00000360 00 01 15 e0 00 01 15 e0 ........ 00000368 00 01 15 e0 00 01 15 e0 ........ 00000370 00 01 15 e0 00 01 15 e0 ........ 00000378 00 01 15 e0 00 01 15 e0 ........ 00000380 00 01 15 e0 00 01 15 e0 ........ 00000388 00 01 15 e0 00 01 15 e0 ........ 00000390 00 01 15 e0 00 01 15 e0 ........ 00000398 00 01 15 e0 00 01 15 e0 ........ 000003a0 00 01 15 e0 00 01 15 e0 ........ 000003a8 00 01 15 e0 00 01 15 e0 ........ 000003b0 00 01 15 e0 00 01 15 e0 ........ 000003b8 00 01 15 e0 00 01 15 e0 ........ 000003c0 00 01 15 e0 00 01 15 e0 ........ 000003c8 00 01 15 e0 00 01 15 e0 ........ 000003d0 00 01 15 e0 00 01 15 e0 ........ 000003d8 00 01 15 e0 00 01 15 e0 ........ 000003e0 00 01 15 e0 00 01 15 e0 ........ 000003e8 00 01 15 e0 00 01 15 e0 ........ 000003f0 00 01 15 e0 00 01 15 e0 ........ 000003f8 00 01 15 e0 00 01 15 e0 ........
すべて、「その他の例外処理ルーチン」アドレスで埋め尽くされています。
参考文献
Interface (インターフェース) 2008年 09月号 [雑誌]
- 作者:
- 出版社/メーカー: CQ出版
- 発売日: 2008/07/25
- メディア: 雑誌
コメント 0