从Flash和SRAM中触发中断的过程示例(二)
链接需要按照如下方法配置:中断向量表(ivt.s)需要链接到SRAM的底部(0x40000000)。确定相关的中断向量位于0x40000000-0x4000003F。其他的文件链接到代码内部,可以存放在SRAM中。
而且,中断向量需要被remapped to SRAM。使用MEMAP寄存器,配置它为用户RAM模式可以实现。
Int main()
{
………………….
初始化 MEMAP
MEMAP = 0x2;
………………………..
}
TIMER1配置为触发一个FIQ中断,代码从FLASH中运行
例子包含下面的文件:
1. 中断向量表(ivt.s)
2. 启动汇编代码(init.s)
3. 主C文件
本应用笔记只提到了相关的文件。如果使用其他的交叉编译环境,C文件可以保存大部分不动,汇编文件需要更改。
中断向量表
这些代码应当被链接到0x0。这样中断向量和FIQ ISR就被提供给了ARM核。
;*******************************************************************
汇编指令
********************************************************************
AREA IVT,CODE ;新的代码段
CODE32

评论