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.

am437x无法从USB1引导,该如何修改?



大家好,

我的板子设置如下:

1、sysboot[4:0]=01000b,按照手册说明,引导优先级顺序为QSPI -> USB_MS(USB1) -> MMC0 -> USB_CL(USB0);

2、USB1硬件上设置为host,没有HUB电路,USB1的5V不用USB1_DRVVBUS信号控制,上电就正常;

3、板载QSPI FLASH和NAND FLASH 都没有写入过引导程序;

调试时,我把引导文件复制到TF卡中,插入MMC0的卡座,引导正常,串口打印信息正常。

我把同样的引导文件复制到U盘(4GB,FAT32格式)中,插入USB1,TF卡拔出,上电后没有串口打印信息,应该是没有引导

请问,如果选择从USB1引导,是不是引导文件需要修改并重新生成以支持USB引导模式?

谢谢

  • 补充两点:

    1、我想要系统一上电就从U盘执行MLO,而不是 TI WIKI中的 6.6 Booting Linux from USB storage

    2、USB peripheral boot mode (SPL-DFU)还是有点麻烦,用U盘直接引导最方便

  • 看了你的描述,建议首先看一下硬件上对ID脚的处理:

    5.2.6.8.3 Enumeration and Detection
    1. Enables the USB module by programming the PRCM to turn on the functional clocks.
    2. Powers on the USB integrated Transceiver.
    3. The ROM code detects that the USB is a USB A-device through the USB-ID pin pulled low.
    4. The ROM code sets host mode.
    5. When the ROM detects a device is connected, it performs a USB Reset to the device.
    6. The ROM performs USB enumeration.

    从软件编译而言,确实需要使用不同的配置去编译引导文件:am43xx_evm_usbhost_boot_defconfig,参考:

    http://processors.wiki.ti.com/index.php/Linux_Core_U-Boot_User%27s_Guide#Compiling_MLO_and_u-boot