從Flash和SRAM中觸發(fā)中斷的過程示例(二)
鏈接需要按照如下方法配置:中斷向量表(ivt.s)需要鏈接到SRAM的底部(0x40000000)。確定相關(guān)的中斷向量位于0x40000000-0x4000003F。其他的文件鏈接到代碼內(nèi)部,可以存放在SRAM中。
而且,中斷向量需要被remapped to SRAM。使用MEMAP寄存器,配置它為用戶RAM模式可以實現(xiàn)。
Int main()
{
………………….
初始化 MEMAP
MEMAP = 0x2;
………………………..
}
TIMER1配置為觸發(fā)一個FIQ中斷,代碼從FLASH中運行
例子包含下面的文件:
1. 中斷向量表(ivt.s)
2. 啟動匯編代碼(init.s)
3. 主C文件
本應(yīng)用筆記只提到了相關(guān)的文件。如果使用其他的交叉編譯環(huán)境,C文件可以保存大部分不動,匯編文件需要更改。
中斷向量表
這些代碼應(yīng)當(dāng)被鏈接到0x0。這樣中斷向量和FIQ ISR就被提供給了ARM核。
;*******************************************************************
匯編指令
********************************************************************
AREA IVT,CODE ;新的代碼段
CODE32
評論