码迷,mamicode.com
首页 > 其他好文 > 详细

异常中断向量表的地址问题

时间:2016-10-01 21:39:48      阅读:408      评论:0      收藏:0      [点我收藏+]

标签:

    目前有个疑问,就是书上说异常中断向量表是从地址0x0000_0000开始的,那么在s5pv210中,好像0x0000_0000地址对应的好像是iROM,而iROM是Samsung公司预置好了的代码,难道说异常中断向量表是存放在iROM中的?而且根据iROM_application手册中提供的图,在0xD003_7400处有一个异常向量表,难道 s5pv210 改变了异常中断向量的地址???
 
这个问题经过长时间的存放,今天终于在一本书上找到了答案,解决如下:
    其实 s5pv210 的中断向量表的位置并没有改变,还是存在于 0 地址处,但是只支持irq中断和复位,其他的几种异常并不支持。当发生中断的时候,cpu仍然会跳转到0x18处执行,然后跳转到iROM中的一个固定的地址处去执行,接着再将 0xD003_7400 处的内容加载到 pc 中。所以说 0xD003_7400 地址处应该存放的中断处理程序的首地址。
    由于这些处理都是iROM中的代码所完成的功能,而且Samsung公司并不公开iROM的源代码,在iROM手册中又没有具体详细的介绍,让我们很难受。该书中使用了一种方法来验证了上面的说法:
就是利用串口来输出iROM中的代码,然后将内容保存为.bin文件,接着使用arm-linux-objdump命令来反汇编bin文件,即可看到对应的汇编代码。回头等学到了串口的时候,用这个方法来验证一下。

 

异常中断向量表的地址问题

标签:

原文地址:http://www.cnblogs.com/frank-yxs/p/5926244.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!