各位大神求教了
因某应用需求 现在需要在AM3352平台运行裸机程序 或者是考虑TI/RTOS,所以最近一直在折腾此事。
Starterware版本 02.xx.01.01.
IDE版本 CCS9.3.0
编译官方例程,NANDFLASH启动,测试没有问题,OK
MMCSD启动,调试时发现程序一直卡在查询SD卡插入状态的地方,提示没有插入SD卡。但是从硬件上确认监测IO状态是没有问题的。
问题(1) MMCSD启动,为何查不到插入状态?确认硬件没有问题,下面的实验也可以证明。
许久无进展后,下载了Starterware 02.00.01.01,做尝试。
编译工具IAR8.2
还是MMCSD 启动方式。
仿真调试没有问题,可以检测到SD卡,正确引导应用程序。
然后把生成的boot拷贝到SD卡里面,配置板卡从SD卡启动,监视串口终端,发现无任何调试信息输出,应用程序也没有被引导。
问题(2)IAR 仿真调试可以,放到SD卡里面不行?这是为何?哪里配置不对,设置不对?
已经确认的问题:
SD卡启动硬件问题可以排除,通过SD卡mlo引导uboot没有问题,论坛里面mlo ddr3 softlevelling运行也没有问题。
SD里面MLO文件也没有问题,看过MLO的16进制文件,确认已经是ti模式,大小+地址+文件数据
有没有遇到这种问题的朋友,求赐教。
有没有编译好的,可以引导app的mlo文件,也可以发一个,小弟测试一下
Shine:
bin文件需要用 TI Image Header tiimage工具来转换,请参考下面的wiki网站上的步骤。
processors.wiki.ti.com/…/AM335X_StarterWare_Booting_And_Flashing
user1350908:
回复 Shine:
文件已经转换过了,IAR配置里面有转化的脚本,输出就是两个文件boot.bin boot_ti.bin
ti.bin文件hex看过,前8个字节是没有问题的
Shine:
回复 user1350908:
可以用C:\ti\AM335X_StarterWare_02_00_01_01\binary\armv7a\cgt_ccs\am335x\evmAM335x\bootloader\Release_MMCSD和C:\ti\AM335X_StarterWare_02_00_01_01\binary\armv7a\cgt_ccs\am335x\evmAM335x\demo里的例程试试。
user1350908:
回复 Shine:
无法直接用官方的例程 自己设计的,没有I2C 的EEPROM
boot启动的时候应该有串口信息打印出来 现在啥都没有….
Shine:
回复 user1350908:
建议用CCS编译project。用仿真器跟一下boot过程,看MLO有没有加载进来?
user1350908:
回复 Shine:
CCS编译仿真过,MLO文件是可以仿真调试的,但是监测不到SD卡的插入状态。然后用IAR 8.32编译,仿真调试都没有问题,就是生成的MLO文件拷贝到SD卡不能启动。
Shine:
回复 user1350908:
监测不到SD卡的插入状态的话,看一下卡槽是不是接触不好?或者换个SD卡试试。
user1350908:
回复 Shine:
硬件应该没有问题,CD脚状态也对的。
SD卡直接运行 DDR3的 softleveling程序是没有问题的。
另外上面提到IAR下软件仿真也是没有问题的,说明这个SD卡的插入监测没有问题。
Shine:
回复 user1350908:
有用仿真器跟踪boot过程吗?
user1350908:
回复 Shine:
仿真器跟踪过,就是卡在查询SD的插入状态位置。
但是可以确认硬件是没有问题的。