|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
[这个贴子最后由reiskie在 2005/07/31 10:54am 第 2 次编辑]
小弟初学ARM,还望各位大侠多多指点。
实验室有一块金一倍的44b0开发板,我用它编了一个测试中断的程序。
板子上有4个按键是接在EINT4567上的。我在中断函数里面通过判断按键来把不同的LED点亮。中断设置为非矢量模式。
在线调试通过后,我将程序用板子带的ARMBoot通过超级终端将程序下载到sdram中0x0c008000地址,并成功执行。
我困惑的是:资料上说,44b0不支持地址重映射,那么EINT中断(irq)会导致PC回到0x00000018,然后再跳转到具体中断服务程序。而存放中断服务程序的地址是再init.s中设置的sdram最高处(_ISR_STARTADDRESS EQU 0xc7fff00 )。
那为什么我把程序下载到0x0c008000处,中断过程也能正确的实现?
PC是如何有0x00000018跳到0x0c008018的呢?
小弟想了好几天了也想不通,还请大侠不吝赐教啊!
|
|