スタートアッププログラムstartup.sのリセットベクタを
編集する必要が出てきたのですが、参考になるサイトがありません。
手元にある組み込み関連の書籍にも詳しく書かれておらず、
手のつけようがありません。参考になるサイトをご存知のかたはいらっしゃいませんか。
やりたいことは、
「ベクタ・テーブルが先頭になるようにセクションを配置。
ベクタ番号8(先頭から9番目)にベクタ・テーブルの先頭アドレスを配置してください」
という指示を守るということです。
以下編集すべきstartup.sの一部を抜粋します。
# パワーオンリセットベクタ
.org 0x00
.long __startup
.long _stack_base
# マニュアルリセットベクタ
.long __startup
.long _stack_base
.org 0x84
# Trap33
#.long _trap33_exception
.org 0x88
# Trap34
#.long _trap34_exception
.org 0x200
# ERI_0
.long 0x0
# RXI_0
.long 0x0
# TXI_0
.long 0x0
# TEI_0
.long 0x0
.org 0x400
.global __startup
.type __startup, @function
/*-------------------------------------*/
/* Vector table for exception handlers */
/*-------------------------------------*/
.section .VECTOR, "ax"
vector_table:
.long boot_por /* 0 Power-on reset vector, PC */
.long stack_base /* 1 Power-on reset vector, SP */
.long boot_mr /* 2 Manual reset vector, PC */
.long stack_base /* 3 Manual reset vector, SP */
.long trap /* 4 General illigal instruction */
.long trap /* 5 - */
.long trap /* 6 Slot illigal instruction */
.long trap /* 7 - */
.long vector_table /* 8 - <Used by SPI-FlashBoot> ←これをコードに記述する */
.long trap /* 9 CPU address error */
.long trap /* 10 DMA address error */
.long trap /* 11 NMI */
.long trap /* 12 - */
.long trap /* 13 FPU exception */
.long trap /* 14 User debug interface */
.long trap /* 15 Bank overflow */
.long trap /* 16 Bank underflow */
.long trap /* 17 Division by 0 */
.long trap /* 18 Division overflow */
ドットに続く文字は予約語なのか?あるいはユーザー変数なのか?
ファイル名は任意なのか?そもそもこれはアセンブラなのか?
全く分からず困っています。