打印

JTAG在线调试映射问题

[复制链接]
1529|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kkjiongquan|  楼主 | 2010-2-23 17:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这两天用JTAG调试时发现奇怪的问题:每次发生中断时就跑飞,在网上搜了一下,原来是发生中断时没有找到中断向量表。我用反汇编单步调试,中断发生时,PC并没有跳到0x30000000处的中断向量表处(我已经在ADS把RO Base设置成0x30000000,也在IRQ中断设置了断点)就直接跑飞了。于是我把程序下载到NAND Flash(程序正常运行,中断没问题),在这情况下我再次使用JTAG在线调试,这下子中断不再跑飞了。于是我可以确定,JTAG在线调试发生中断时PC是跳到0x0开始的中断向量表。
    问题是,既然已经设置了RO Base为0x30000000,为什么0x0没有映射到RO Base呢?在线调试都是会这样吗?如果这样的话,是不是在线调试前都要确保NAND Flash 0x0处要写进中断向量表呢?

相关帖子

沙发
backupyan| | 2010-2-24 08:47 | 只看该作者
请问你开启了MMU的地址映射了吗?
可以把虚拟地址0x000000映射到物理地址0x3000 0000上即可不跑飞了.
看看你的启动代码中对MMU的设置.

使用特权

评论回复
板凳
kkjiongquan|  楼主 | 2010-2-25 10:14 | 只看该作者
2# backupyan
     我有另外一个问题,如果我在启动代码把整个映像复制到SDRAM,运行时发生了中断,PC可以跳到0x0开始的中断向量表(先不用MMU),当运行中断处理代码时,那不是有两个地方有HandlerIRQ吗?PC是跳到SDRAM的HandlerIRQ还是FLASH里面的HandlerIRQ?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

50

帖子

1

粉丝