为什么仿真调试可以,但是下载到板子上就是不行

[复制链接]
4215|5
 楼主| xiaowu5016 发表于 2009-5-23 10:32 | 显示全部楼层 |阅读模式
调试按键显示LED的小程序,用JLINK&nbsp;V7调试正常,按下按键对应的LED会亮<br />但是下载到NAND&nbsp;FLASH里面,就是一点反应都没有<br />望高手指点,是什么原因?<br />谢谢!
古道热肠 发表于 2009-5-23 10:52 | 显示全部楼层

是不是没设置对,NandFlash启动要配置的吧

  
 楼主| xiaowu5016 发表于 2009-5-23 16:44 | 显示全部楼层

问题补充

没有对NAND&nbsp;FLASH的启动代码做深入的了解<br />开发板提供有一个uboot,所以就下载到NAND&nbsp;FALSH的BLOCK:0,然后将应用程序下载到BLOCK:2<br />做前几个小程序,比如流水灯、串口打印信息啊,按照上面的方法下载到板子上都可以正常运行的<br />但是做到按键显示LED的时候就不行了(按键查询采用中断方式的)
 楼主| xiaowu5016 发表于 2009-5-24 09:54 | 显示全部楼层

问题补充

现在编写了一个按键查询方式的小程序(RO设置为0x30000000)下载进去(下载到NAND&nbsp;FALSH的BLOCK:0,然后将应用程序下载到BLOCK:2),可以运行<br /><br />而按键中断方式的小程序和上述一样设置下载就没有反应<br />把改程序RO改为0x0,然后下载到BLOCK:0后又可以运行了<br /><br />现在的问题是,怎么样在RO设置为0x30000000下,下载到BLOCK:2下让该程序也能正常运行,要改哪个地方啊?<br /><br />谢谢!<br />
 楼主| xiaowu5016 发表于 2009-5-24 16:02 | 显示全部楼层

问题补充

看了《ARM&nbsp;Linux入门与实践》,上面说无论是从0x0地址开始运行还是从0x30000000地址开始运行,0x0地址处的启动代码必须是正确的,和0x30000000是一致的,因为当处理器产生中断异常时,还是要从0x0起的中断入口开始执行,经过中断向量表及处理代码去寻找最终的中断处理服务程序等<br /><br />对应我这个程序,看了uboot启动代码里面没有设置IRQ,是不是因为这个原因导致后来下载有关中断的程序就没有反应了?
 楼主| xiaowu5016 发表于 2009-5-26 17:49 | 显示全部楼层

顶一个

顶一个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

67

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部