How to enter USB boot

Tagged: 

Viewing 9 reply threads
  • Author
    Posts
    • #9076
      Eric JagerEricj92
      Participant

        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

      • #9078
        Neeraj Dantu
        Moderator

          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

        • #9081
          Eric JagerEricj92
          Participant

            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?

          • #9084
            Neeraj Dantu
            Moderator

              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

            • #9157
              Eric JagerEricj92
              Participant

                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?

              • #9159
                Eric JagerEricj92
                Participant

                  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

                • #9161
                  Neeraj Dantu
                  Moderator

                    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

                  • #9197
                    Eric JagerEricj92
                    Participant

                      Fixed it! Windows firewall was bothering me.

                    • #9990
                      Berkay SomaliBeko
                      Participant

                        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

                      • #10000
                        Neeraj Dantu
                        Moderator

                          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

                      Viewing 9 reply threads
                      • You must be logged in to reply to this topic.