ARM中断向量表重定位到片外RAM方法

时间:2021-05-10 04:22:18

参考:

1、http://blog.sina.com.cn/s/blog_87c063060101gbmz.html

2013-01-22:"中断向量重定位"问题? 

御剑踏浪的博客

http://blog.sina.com.cn/u/2277532422 

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支持设置中断向量表的寄存器

     这样也可以实现重定位