我的硬件是 AM3354+TPS65910A1A3+MT41K256M16TW-107(DDR3)+ MT29F8G08ABACAWP(nand flash),一般情况下,如果没有写入程序,那串口会一直打印“ccc”,但我这里就很奇怪,打印了15个“c”之后,打印就停止了。打印停止前,如果插入带系统的sd卡,那系统和PCB板就可以正常的工作。如果nand flash里面写入了系统,那系统也能正常启动。因为系统只要不从串口启动,那一般打印五六个“c”就从SD或者Flash启动了,不会等到打印十五个“c”的。
所以,是什么原因造成了ccc打印停止呢?为什么停止之后,就不能检测到带系统的SD卡插入了?就好像,“CCC”停止之后,AM3354就休眠了,不再检测启动项启动了似得。
另外,如果我把nand flash拆掉,打印就不会出现停止的情况了。但是,nand flash我也不是第一次用了,电路目前没看到什么问题,况且nand flash读写都是正常的,那基本没什么问题。
镜像链接:https://e2e.ti.com/support/amplifiers/f/14/t/869870
Nancy Wang:
启动顺序:UART0> XIP w/WAIT[1](MUX1)>MMC0> NAND
请问现在是通过串口无法启动吗?看描述是从SD卡和nand flash都可以正常启动。
user5926996:
回复 Nancy Wang:
systemboot 是00100b,所以确实是你这个启动顺序没错。我没有使用串口和XIP启动功能,但是我想应该也是可以的。
我的问题是,刚上电的时候,可以检测到SD卡,然后可以从SD卡启动。但是过一会儿,就检测不到了,无法从SD卡启动了。(nand是空的,没有写入系统,所以也不会从nand启动)。
外在的表现就是,刚上电时,串口会打印ccc,但是打印了十五个“c”之后,串口就不打印“c”了。停止打印之后,就不能检测到SD卡并从SD卡启动了。
Nancy Wang:
回复 user5926996:
user5926996
我的问题是,刚上电的时候,可以检测到SD卡,然后可以从SD卡启动。
是怎么看出来可以从SD卡启动,一会儿又检测不到的?是看的MMC_CLK是否有输出?
只打印cccc说明bootloader无法根据SYS_BOOT给出的启动顺序成功启动,再检查一下SYS_BOOT信号以及上电时序和复位信号是否符合要求。
user5926996:
回复 Nancy Wang:
你好!
从生产线上下来的板是没有烧录系统的;
我设计的时候,是通过SD将系统烧录到板上的nand里面。
既然是生产线上下来的不带系统的两块板,对其中一块,当刚打印”ccc“时,我将SD卡插入卡槽后,可以正常打印uboot等信息;对另一块,等”ccc“停止之后再将SD卡插入卡槽,串口打印无反应。如此,自然说明了系统从SD卡启动,以及,若没有及时插入SD卡,等ccc停了就无法再检测到SD的插入了。
yongqing wang:
回复 user5926996:
找一块别家的板子试试有没有这个问题