TI中文支持网
TI专业的中文技术问题搜集分享网站

Am335X boot 问题

hi  ti,

在调试自己制作的Am3359的板子中遇到这样的问题,请帮忙看一下。

 

BOOT选项 1100 0000 0001 0111;MMC0-SPI0-UART0-USB0,26MHz 晶振。

系统上电之后,UART0 一直打“C",间隔1S; MMC0 CLK/CMD/D0,有波形输出,也是周期性一小段波形。

MMC0和UART0 都不能启动。我们尝试用在beaglebone 上可以启动的程序,也不能启动X-loader。

用Jtag 看trace data :0x4030CE40 000D07F 000010000 00011002. 从trace data 看,是CPU检查完了所有启动设备,都启动失败。

但是,按照TRM 26.1.5,CPU会进入 dead loop,等待看门狗复位。

 

我通过串口Xmodem 加载SPL,可以看到进度条和加载完成。 完成后,UART0 还是一直打”C"。通过Jtag 去读,应该下载到memory 的SPL 却没有保存在里面。

我们尝试用Jtag 读写 memory,发现Jtag 启动,此时CPU处于pause 状态,可以读memory。如果此时开始全速执行(CCS 运行),再次停止。memory 变得不可读写。

 

所以,有几个地方不清楚:

1  目前不清楚ROM程序执行在哪一部分,CPU处于什么状态

2  如果因为外部原因,导致启动设备 检查均出错,CPU为什么不会进入预设的 dead loop。

3  SPL 不能保存和 memory 不能读是否相关,是什么原因引起的。

 

CPU ROM程序执行的问题,请帮忙分析一下。谢谢!

 

看门狗寄存器数据:

CortxA8: GEL Output: WDT_WIDR value is : @0x502A0501

CortxA8: GEL Output: WDT_WDSC value is : @0x00000010

CortxA8: GEL Output: WDT_WDST value is : @0x00000001

CortxA8: GEL Output: WDT_WISR value is : @0x00000000

CortxA8: GEL Output: WDT_WIER value is : @0x00000000

CortxA8: GEL Output: WDT_WCLR value is : @0x00000020

CortxA8: GEL Output: WDT_WCRR value is : @0xFF6A1085

CortxA8: GEL Output: WDT_WLDR value is : @0xFF6A0001

CortxA8: GEL Output: WDT_WTGR value is : @0xFF6A0001

CortxA8: GEL Output: WDT_WWPS value is : @0x00000000

CortxA8: GEL Output: WDT_WDLY value is : @0x00000000

CortxA8: GEL Output: WDT_WSPR value is : @0x00005555

CortxA8: GEL Output: WDT_WIRQSTATRAW value is : @0x00000000

CortxA8: GEL Output: WDT_WIRQSTAT value is : @0x00000000

CortxA8: GEL Output: WDT_WIRQENSET value is : @0x00000000

CortxA8: GEL Output: WDT_WIRQENCLR value is : @0x00000000

 

Yaoming Qin:

检查下你的sysboot,会不会是设反了?另外,检查了SPL,关于ddr的设置是不是对的,如果你用的ddr和开发板上的不一样,需要修改spl

赞(0)
未经允许不得转载:TI中文支持网 » Am335X boot 问题
分享到: 更多 (0)