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.

TMDSEVM437X: USB mass storage boot

Part Number: TMDSEVM437X

Hello All,

We found this helpful thread on TI forums:

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/849130/am4372-am437x-boot-from-usb1-mass-storage

We have used the sysboot pin configuration from the thread (10101b). To produce a bootable USB stick, with a disk imager tool, we have transferred the SD card image onto the USB sticks. We have used an SD card image produced with SDK v08.02.00.24. According to the thread, that should have worked.

But so far we couldn’t reproduce the results from the thread. Our expectation was that even with the default pre-built binary of MLO should at least produce messages on the console. (Default u-boot config doesn’t have USB mass storage enabled, but the initial console messages in MLO are printed before it tries to boot further.)

Thus we have few questions. 

Q1: Does the am437x GP EVM (TMDSEVM437X) supports the USB_MS boot mode? According to the sticker label on the board, it’s a rev “1.5a”. In the thread it’s said that starting from rev 1.2, USB boot should work.

Q2: USB mass storage compatibility. Could anyone clarify how we chose compatible USB flash sticks? RTM says that the USB stick should support “SCSI READ 10” function. How can we verify/etc that we have a compatible USB stick? (We have tried 4 different USB sticks (2x usb3, 2x usb2) with eval board without success.) Is there any other (e.g. size) limitation on the USB sticks imposed by the “romloader”?

Thanks for your time.

  • Hi,

    Q1: Does the am437x GP EVM (TMDSEVM437X) supports the USB_MS boot mode? According to the sticker label on the board, it’s a rev “1.5a”. In the thread it’s said that starting from rev 1.2, USB boot should work.

    The rev 1.5a refers to the EVM revision, I believe the rev 1.2 mentioned in the other thread refers to the AM437x SoC revision.

    To produce a bootable USB stick, with a disk imager tool, we have transferred the SD card image onto the USB sticks.

    What disk image tool is it?

    Can you please try to following the procedure below using either bmap-tools on Linux or BalenaEtcher on any platform to flash the sdcard WIC image provided in the SDK board-support/filesystem/ folder?

    https://dev.ti.com/tirex/explore/node?node=AI3urPZpY0D8xpgLrIqdSg__XaWts8R__LATEST

  • Hi,

    I have just retested with "balenaEtcher" and official WIC image from SDK v08.02.00.24 - and two different USB sticks - unfortunately with the same result. Even after 1-2 minutes, no signs of boot and no output on serial console. (Sysboot set again to 10101b.)

    Same image but on SD card (written with "balenaEtcher"; sysboot mode 00000b) boots without problems.

    P.S. U-boot (when booted from SD card) says: "CPU : AM437X-GP rev 1.2". Is this the SOC revision?

  • Hello!

    I think I wasted everybody's time. There is no problem.

    My source of confusion was/is U-boot. The older versions of U-boot (older SDKs, as in the thread above), even if missing USB_MS support, U-boot still produced console output. But the newer versions of TI's U-boot do not. And that had confused me.

    Now I have compiled "usbhost_boot" version of U-boot and used it, the EVM could boot from my USB stick.**

    Mea culpa. Thanks for your time.

    **Boot then stumbled on Linux kernel, that couldn't find root filesystem storage. That's because USB support is compiled as modular. But that's solvable/not a problem.

  • Hi Ihar,

    Thanks for the update and sharing the solution.

    Since AM437x devices have been released for many years, I don't use its USB_MS boot often, only until any customer has problem with it, so I didn't even know the behavior in the latest U-Boot has been changed, and its MLO won't print anything on the console if USB host is not enabled in U-Boot.