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.

PROCESSOR-SDK-AM335X: Boot by USB0

Part Number: PROCESSOR-SDK-AM335X


Tool/software:

Hello, 

I build with AM335X board and I want to use USB-C (USB0) to start OS. 

For boot with USB0, I have set the sysboot  in all three ways.

When I start the board, I only see a rare character on the serial port. If I change the sysboot configuration pins to MMC start first, I show in serial port writing character C. Is it normal not show character C in USB0?

Is it possible to start U-Boot from USB0? Will I have to modify the U-Boot configuration so that it starts with USB0? Will I have to add USB0 in mux.c and board.h?

Thanks, 

  • Xavier,

    When I start the board, I only see a rare character on the serial port. If I change the sysboot configuration pins to MMC start first, I show in serial port writing character C. Is it normal not show character C in USB0?

    The 'CCC...' characters are handshake characters used as part of the X-Modem protocol that's used for UART boot. If you see those characters that usually means you are in UART boot mode, either as a primary boot mode, or fallback (secondary boot mode / backup boot mode) because the primary boot mode failed. In any of the USB boot modes, this character is not emitted.

    Is it possible to start U-Boot from USB0?

    Yes for this you need to setup an RNDIS driver and a TFTP server on the host PC. The AM335x device will enumerate as a USB RNDIS-class network interface, and will then try to load the boot binary from the host PC. You can continue this boot chain all the way to U-Boot prompt, and from thereon even to a full Linux OS, either running using a RAM disk image, or a network-mounted filesystem (NFS).

    Usually however one would use USB boot as a fast way to download and program an image such as an eMMC image, for example during production. Don't you have any local storage to hold your system image?

    https://bootlin.com/blog/snagboot-designing-a-usb-recovery-process-for-am335x-socs/

    Regards, Andreas