ARM中断向量表重定位到片外RAM方法
参考:
重点参考:
1、http://blog.sina.com.cn/s/blog_87c063060101gbmz.html
2013-01-22:"中断向量重定位"问题?
御剑踏浪的博客
2、CPU user manual
正文
由于ARM CPU产生中断或者异常后,PC指针自动跳转到0x00地址执行(同时执行一些CPSR寄存器的保存、运行模式的转换等),所以要在0x00地址处存放中断向量表。而如果我们想将中断向量表重定位到片外ram的 话, 有2中方法:
1、启用MMU
将片外RAM空间隐射到0x00处
2、在0x00(片内RAM)地址处存放一份和片外RAM一模一样的中断向量表
标准做法是将程序存放在NAND FLASH里面,S3C2440 CPU启动后,会将程序复制到片内RAM里面,此时中断向量表也复制到了IRAM里
3、有部分CPU支持设置中断向量表的寄存器
这样也可以实现重定位