This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

evmskAM335x 串口和SD启动不正常(StarterWare)

Other Parts Discussed in Thread: UNIFLASH

板子:TMDSSK3358  www.ti.com/.../tmdssk3358

sd卡文件:

(1)MLO

\ti\AM335X_StarterWare_02_00_01_01\binary\armv7a\cgt_ccs\am335x\evmskAM335x\bootloader\Release_MMCSD

(2)app

\ti\AM335X_StarterWare_02_00_01_01\binary\armv7a\cgt_ccs\am335x\evmskAM335x\demo\Release

操作方法:

processors.wiki.ti.com/.../AM335X_StarterWare_Booting_And_Flashing

按照上述方法操作后,上电启动,出现下面的情况。

1)ROM发送CCCC,只发送8个C就停止不发了。uSD卡装上述的文件,从uSD卡启动不成功。(用原来自带的uSD卡,里面带操作系统的卡,可以正常启动成功)

CCCC停止发送了,想要通过UART启动,也传送不了uart的MLO文件,所以用串口也启动不了。

2)过一会又会自动发送CCCC,然后马上停止。如此重复。

3)按一下复位键,同样也是发8个C,就停了。

4)设备管理器里面出现下面情况。Linux USB Ethernet/RNDIS Gadget #3或者 AM335x USB(黄色感叹号)

原来开始是出现AM335x USB(黄色感叹号),通过windows update,自动安装了Linux USB Ethernet/RNDIS Gadget 的驱动。但是这个驱动应该没有对的。

将Linux USB Ethernet/RNDIS Gadget 驱动卸载,就出现AM335x USB(黄色感叹号)。

怎样将AM335x USB(黄色感叹号)变的正常?

怎样让板子可以用uSD或串口,成功启动StarterWare呢?

原来板子是可以用串口正常启动的,上电后会一直发送CCCC的,直至开始传送串口的启动文件MLO。

现在不知出了什么问题,发一会CCCC就停止了。

谢谢大家!

  • 看了你上面的描述,太多的信息混合在一起了,我们以目的为导向一条条捋一下:

    1. 用uart启动:

    首先,要先编译出来适用于UART启动的image,就是你的bootloader,MLO,SD卡的启动image和串口启动的image是不一样的,这个在你编译这个bootloader的时候,是需要进行选择的,你会看到debug_uart, release_uart, debug_mmcsd, release_mmcsd这类的工程属性的选择,选择对应的属性后,进行编译,才编出了正常的image。比如你用于uart启动,就可以选择debug_uart。

    再者,传image的时间问题。你的板子工作一切正常,请忽略掉装driver和USB rndis那些东西,那些很明显和USB有关,和你当前要进行的串口启动无关。(事实上,那个是用来做Uniflash串口启动的时候你才会考虑的东西,如果感兴趣,版内搜一下Uniflash这个工具的使用,就是描述这部分内容的,这里先忽略了。)你必须要在串口发送的8个c的时间内,以xmodern的方式来传送你编出来的正确的image,才能进行第一级启动。因为板子针对每一个启动方式都是有time out时间限制的,一旦过了时间,就会尝试下一步启动模式。一般板子有四种启动模式,先试第1种,time out了后,第2种,第3种,第4种,然后回到第1种,第2种……以此类推。至于每一种启动模式的time out时间,等可以参考TRM手册的26章Initialization章节来了解。

    2. 用SD卡启动:

    编译image的要点和上面一样。

    这里只要把编出来正确的image文件,命名为MLO放在fat32分区中,即可。