打印

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

[复制链接]
2892|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xiaowu5016|  楼主 | 2009-5-23 10:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
古道热肠| | 2009-5-23 10:52 | 只看该作者

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

使用特权

评论回复
板凳
xiaowu5016|  楼主 | 2009-5-23 16:44 | 只看该作者

问题补充

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

使用特权

评论回复
地板
xiaowu5016|  楼主 | 2009-5-24 09:54 | 只看该作者

问题补充

现在编写了一个按键查询方式的小程序(RO设置为0x30000000)下载进去(下载到NAND FALSH的BLOCK:0,然后将应用程序下载到BLOCK:2),可以运行

而按键中断方式的小程序和上述一样设置下载就没有反应
把改程序RO改为0x0,然后下载到BLOCK:0后又可以运行了

现在的问题是,怎么样在RO设置为0x30000000下,下载到BLOCK:2下让该程序也能正常运行,要改哪个地方啊?

谢谢!

使用特权

评论回复
5
xiaowu5016|  楼主 | 2009-5-24 16:02 | 只看该作者

问题补充

看了《ARM Linux入门与实践》,上面说无论是从0x0地址开始运行还是从0x30000000地址开始运行,0x0地址处的启动代码必须是正确的,和0x30000000是一致的,因为当处理器产生中断异常时,还是要从0x0起的中断入口开始执行,经过中断向量表及处理代码去寻找最终的中断处理服务程序等

对应我这个程序,看了uboot启动代码里面没有设置IRQ,是不是因为这个原因导致后来下载有关中断的程序就没有反应了?

使用特权

评论回复
6
xiaowu5016|  楼主 | 2009-5-26 17:49 | 只看该作者

顶一个

顶一个

使用特权

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

本版积分规则

18

主题

67

帖子

0

粉丝