Forums › Reference, Evaluation, and Development Boards › How to enter USB boot
Tagged: USB boot
For a new design we are doing it is essential to load new images to the octavo device using the USB boot procedure.
Using USB boot we can upload an image to a factory fresh chip in automated environment.
I am using the OSD3358-SM-RED board(beagle bone like board). There is a button(S3) which needs to be pressed during power on, allowing the device to switch to boot order SPI0,MMC0,USB0 and UART0. There is no SD-card placed, so MMC0 should be skipped and I would expect the device to jump to USB boot, but I am not getting the USB RNDIS device on my Windows computer, what I am doing wrong?
Kind regards,
Eric
Eric,
You should be able to see a USB RNDIS adapter on your computer. Please make sure you have the RNDIS driver(https://developer.toradex.com/knowledge-base/how-to-install-microsoft-rndis-driver-for-windows-7). The board should show up under “Network Adapters” in Device Manager.
Also, make sure the RED board is functional and boots through eMMC and SD card.
Best,
Neeraj
I am sure that the device boots normally on the emmc, but I want the device to jump to USB boot to create an automated script for the initial flashing of the device(similar to the octavo application note). I assume that the following devices are probed during boot, from firs to last:
– SPI0: nothing present to boot
– MMC0: (SDcard interface) no card present, nothing to be booted
– USB0: Cable will be plugged in, while holding the boot button down
– UART0: A USB serial device pops up after few seconds and on the debug header(UART0) a couple of c characters are printed.
Is there something wrong/odd with the USB layout preventing the USB boot to trappped?
Eric,
I am able to verify that the RNDIS ethernet adapter does show up in Windows 10 when you hold down the boot button with no SD card present.
Did you check whether you have the RNDIS driver installed? The board should send out BOOTP requests on the USB interface before it jumps to UART boot mode on UART0. If you are seeing characters on the UART console, it means that the board has cycled through the other boot modes in the list.
I would advise to try a different host Windows machine.
Another suggestion is for you to install the Uniflash tool from TI and try to boot from USB:http://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Foundational_Components_Tools.html#sitara-uniflash
We demonstrate how to use Uniflash to program EEPROM for the OSD335x family here: https://octavosystems.com/app_notes/osd335x-eeprom-during-boot/#_Toc382081434
Please let us know if you make progress or if you have additional questions.
Best,
Neeraj
Hi Neeraj,
I tried a couple of different windows 10 host machines, but no success. Is there a special RNDIS driver required in order to get the RNDIS bootloader working?
I got the device in the USB bootloader mode, by performing the following steps:
1. Connect FTDI cable on UART0, Hold done boot button, Connect AC adapter and check for a series of C characters on the terminal: device must be in serial mode
2. Connect FTDI cable on UART0, Hold done boot button, Connect micro USB cable and check the terminal: No C characters, device must be in serial mode
3. Delete USB serial driver in device manager(somehow my USB ethernet device was recognized by Windows as a serial device)
4. perform step 2 again
5. linux RNDIS devices pops up.
Next I have compiled a new u-boot-spl bootloader, and followed the steps of:
We demonstrate how to use Uniflash to program EEPROM for the OSD335x family here:
https://octavosystems.com/app_notes/osd335x-eeprom-during-boot/#_Toc382081434
But somehow the device doesn’t show up in the UNIflash tool.
Eric
Eric,
Thanks for the update. If you want to use the Uniflash tool, please make sure to configure it at described in section 6.2.1 of the application note
Best,
Neeraj
Fixed it! Windows firewall was bothering me.
Hi Neeraj,
Following up with the USB boot issue for a custom designed board using OSD335x. For initial bootup of a new custom board with USB connectors configred as hosts (ID pulled down), is it possible to use a regular flash drive to boot while pressing the button? (No SD card inserted and empty emmc, technically so it should be looking at USB for an image). If it is possible is there anything we should be doing different than booting from SD card?
Thanks.
Beko
Beko,
Unfortunately, AM335x does not support USB boot in host mode. As described in section 26.1.9.6 in AM335x Technical Reference Manual(http://www.ti.com/lit/ug/spruh73q/spruh73q.pdf), USB boot is only possible via a virtual Ethernet interface on USB0 functioning as a client port. In addition, SYSBOOT pins need to be configured as shown in table 26-7 of the reference manual. So, it is not possible to use a regular flash drive to boot the device.
Please let us know if you have more questions.
Best,
Neeraj
Octavo Systems LLC all rights reserved
OCTAVO is registered in the U.S. Patent and Trademark Office. OSD, C-SiP, and the Octavo Logo are trademarks of Octavo Systems LLC.
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields