打印

调试2440碰到一个问题

[复制链接]
1379|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
eyuge2|  楼主 | 2009-2-28 19:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在ADS下调试,将程序下载到SDRAM中运行正常,下载到nand flash中执行不正确。用sjf2440下载的时候,都很正常,没有提示出错。nand flash用的是三星的K9f1208。
我在ADS下查看0x00开始的memory空间,将bin文件的内容与之对比,发现比较奇怪的现象。
比如我的bin文件的第一行是 40 DD A0 E3……,而memory中的内容是40 0C DD 0C A0 0C E3 OC……,就是每个字节后面都插入了一个0C,感觉很奇怪。
试着下载了两个不同的bin文件,现象都是这样。
哪位大侠给指点一下,可能是什么问题。谢谢!

相关帖子

沙发
阿南| | 2009-3-1 19:52 | 只看该作者

不知楼主的检测手段是怎么样的,您可以进行AXD的软件仿真查

正常时的机器码值,就可以判断是哪个步骤出现了问题

使用特权

评论回复
板凳
eyuge2|  楼主 | 2009-3-2 12:43 | 只看该作者

我的情况是这样的

1.板子刚刚焊接好,我就用sjf2440这个软件下载bootloader到nandflash中。下载过程没有报错,下载成功。bootloader也是经过验证的,没有问题。下载完成后,板子重新上电,bootlaoder没有正常执行。(bootloader正常执行,串口0应该有数据输出。)
2.用ADS打开bootlaoder的源文件,编译之后debug,进入AXD界面,利用H-JTAG将bin文件下载到0x30000000开始的SDRAM中执行,串口0有数据输出,bootloader执行正常。
3.我在AXD界面下,打开memory窗口,查看0x00000000开始的存储器中的数据,与bin文件中的内容做对比,发现存储器中的数据不对,相对与bin文件,每个字节后面都多了一个0x0c。(我理解0x00000000开始的数据应该是cpu内部的4K SRAM中的数据,这4K数据是CPU从nand flash的前4K读过来的。)

我现在怀疑是nandflash工作不正常,或者CPU的内部SRAM从nand flash中读数据不正常。

sjf2440能正常下程序,最起码说明sjf2440能正确读出nand flah的ID号,硬件连接应该是没问题的。
我更换了nand flah,还是不能从nand flash启动。


使用特权

评论回复
地板
eyuge2|  楼主 | 2009-3-2 18:17 | 只看该作者

找到问题了

是电路错误。nand flash控制器的几个配置脚(NCON,GPG13,GPG14,GPG15)没有接。谢谢阿南!

使用特权

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

本版积分规则

105

主题

1366

帖子

9

粉丝