调试2440碰到一个问题

[复制链接]
2094|3
 楼主| eyuge2 发表于 2009-2-28 19:22 | 显示全部楼层 |阅读模式
我在ADS下调试,将程序下载到SDRAM中运行正常,下载到nand&nbsp;flash中执行不正确。用sjf2440下载的时候,都很正常,没有提示出错。nand&nbsp;flash用的是三星的K9f1208。<br />我在ADS下查看0x00开始的memory空间,将bin文件的内容与之对比,发现比较奇怪的现象。<br />比如我的bin文件的第一行是&nbsp;40&nbsp;DD&nbsp;A0&nbsp;E3……,而memory中的内容是40&nbsp;0C&nbsp;DD&nbsp;0C&nbsp;A0&nbsp;0C&nbsp;E3&nbsp;OC……,就是每个字节后面都插入了一个0C,感觉很奇怪。<br />试着下载了两个不同的bin文件,现象都是这样。<br />哪位大侠给指点一下,可能是什么问题。谢谢!
阿南 发表于 2009-3-1 19:52 | 显示全部楼层

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

正常时的机器码值,就可以判断是哪个步骤出现了问题
 楼主| eyuge2 发表于 2009-3-2 12:43 | 显示全部楼层

我的情况是这样的

1.板子刚刚焊接好,我就用sjf2440这个软件下载bootloader到nandflash中。下载过程没有报错,下载成功。bootloader也是经过验证的,没有问题。下载完成后,板子重新上电,bootlaoder没有正常执行。(bootloader正常执行,串口0应该有数据输出。)<br />2.用ADS打开bootlaoder的源文件,编译之后debug,进入AXD界面,利用H-JTAG将bin文件下载到0x30000000开始的SDRAM中执行,串口0有数据输出,bootloader执行正常。<br />3.我在AXD界面下,打开memory窗口,查看0x00000000开始的存储器中的数据,与bin文件中的内容做对比,发现存储器中的数据不对,相对与bin文件,每个字节后面都多了一个0x0c。(我理解0x00000000开始的数据应该是cpu内部的4K&nbsp;SRAM中的数据,这4K数据是CPU从nand&nbsp;flash的前4K读过来的。)<br /><br />我现在怀疑是nandflash工作不正常,或者CPU的内部SRAM从nand&nbsp;flash中读数据不正常。<br /><br />sjf2440能正常下程序,最起码说明sjf2440能正确读出nand&nbsp;flah的ID号,硬件连接应该是没问题的。<br />我更换了nand&nbsp;flah,还是不能从nand&nbsp;flash启动。<br /><br /><br />
 楼主| eyuge2 发表于 2009-3-2 18:17 | 显示全部楼层

找到问题了

是电路错误。nand&nbsp;flash控制器的几个配置脚(NCON,GPG13,GPG14,GPG15)没有接。谢谢阿南!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

105

主题

1369

帖子

9

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