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: USB Peripheral boot fails

Part Number: PROCESSOR-SDK-AM335X

I am trying to boot a AM335x (Beaglebone Black) via USB. I am following the instructions in the Sitara Linux Program the eMMC on Beaglebone Black wiki. I am not using U-Boot on the board as the wiki describes, but rather trying to have the Boot ROM load itself initially from the network.

First time I tried, I only saw 'C' printed over and over on the terminal. I shut everything down, brought it all back up, and tried again. Then I saw the U-Boot SPL output:

That information is very helpful. For days I would get that. Then every once in a while I would get the 'CCCC' again. Now I only get the C's!

All of the information that I can find about 'CCCC' in the forum and documentation seems to deal with UART loading. Is that true? 

What do these Cs mean in the context of the BOOTP? I can see the same traffic on wireshark both when I see the good serial output and when I see the 'CCCC's (as far as I can tell).

I though maybe the Cs are a result of the boot rom passing USB0 and moving to UART0 to boot (the 4th and final config in my SYSBOOT pin configuration).

What do these repeated Cs mean here? No need to upload a picture. It looks like this: CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

I'm ot sure if this is related to whatever the issue that is preventing me from getting all the way to flashing the OS image or not. Right now, I can see the SPL get tftp'd but then things fall apart...

Thanks!

  • Hi Biser,

    Thanks for the reply. I have read the Linux Core U-Boot User's Guide. I cannot find any mention of what the C's on the terminal mean. That is all that I am trying to answer right now. Maybe I am somehow missing that in the guide? I've searched through it. If it is in there, could you give me the paragraph or section title?

    Thanks,

    Jared
  • Jared Marmen said:
    I cannot find any mention of what the C's on the terminal mean.

    I think when UART0 is in the boot sequence the boot rom will output a 'C' to the UART every time an attempt is made to boot from the UART. A stream of 'C's on the terminal means the boot rom is cycling around the boot sequence and thus failing to boot from any source - see Is the device alive

    If you have JTAG available, there is a am335x-boot.dss script on Analyzing Boot Issues with CCS and JTAG which can help to find why the boot is not working.

  • Thanks Chester! I had (somehow) not found the wiki page you linked.  From that page:

    "If you connect a UART cable to your debug port (which should be connected to UART0), you should see a steady stream of 'C' characters output on a terminal window (such as Teraterm). This means that the ROM is executing and is attempting to boot. If you see this you can move on to the next section. Note that you will only see this output if UART0 in in your boot sequence."

    Using the Beaglebone Black, I have two available sequences:

    With the S2 button pressed, USB0 is before UART. 

    I still can't figure out why sometimes I see the screen capture in my initial post, and other time see the 'C's.

    Maybe when I see the 'C's, USB has failed to load the SPL and moved on to UART?

    That could make sense. Until just now, I thought that the terminal output I was seeing above was from the public Boot-ROM on the Sitara. Now that I look at it again, it clearly starts with the line "U-BOOT SPL". So maybe the terminal output is from SPL working. I saw the C's originaly because I had a problem somewhere along the way and the SPL never got loaded via USB, so UART came up next and I see the C's. Then I got my SPL transferred and loading for some period of time, so I would see the U-Boot SPL console output. Trying to fix what I think must be a network setup problem preventing the SPL from getting and loading the U-Boot image, I made some changes on my Linux server, which could have broken the SPL tftp and load, getting the sequence to go to UART and displaying the 'C's again. 

    That doesn't completely explain what I think I'm seeing on the USB network via wireshark, but it is certainly the best theory I have. I'm going to go back to my initial configuration to see if I can get the U-Boot SPL terminal output again. 

    Thanks for you help!

  • Chester, you are correct. Thank you for pointing me to the answer. I had a problem that was forcing USB0 boot to fail and UART0 was filling my terminal with 'C's. What confused me was seeing the output from the SPL that was loaded over USB and then later seeing the 'C's when something broke. It turns out the C's had nothing to do with USB Booting .