首页 > 代码库 > 异常中断向量表的地址问题
异常中断向量表的地址问题
目前有个疑问,就是书上说异常中断向量表是从地址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文件,即可看到对应的汇编代码。回头等学到了串口的时候,用这个方法来验证一下。
异常中断向量表的地址问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。