大家好,
这个问题困扰我两周了,想想还是发上来让大家看看。
我的板子是AM3505的处理器,使用Jlink+eclipse+Jtag+gdb进行调试。前期,已经使用xload在SRAM里面成功读写了ddr和nand。同样的xload,在ddr里面也做了调试了,是成功的。对ddr进行各数据段连续读取50次没有出现问题。
但是我使用同样的ddr配置,在ddr里面调试uboot出现了一个很郁闷的问题。无法使用printf打印gd和bd这些结构体成员变量。一打印就跑飞,跑飞之后,ddr里面放置uboot的代码段的数值也产生了变化,可不可以理解为,代码段被破坏了?
同样的代码,我在AM3517的logicPD板子上试过,没有问题,打印都正常。所以,不好去质疑开发环境有什么问题。
我加大了am3517_evm.h中开始的CONFIG_ENV_SIZE和CONFIG_SYS_MALLOC_LEN,CONFIG_SYS_GBL_DATA_SIZE.还是没有解决根本问题。
调试前后,cpu寄存器的状态也是ok的,跑飞也没有跳进中断,否定是出现了什么中断。
关于引脚的模式设置那一块关系大嘛?因为我这是自己做的板子,但是差别不是很大,ddr、nand都是使用的和logic板同样的接口,型号换了而已。
大家谁知道,帮忙说一下,指引一下方向吧。。。。