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.

AM335x failing to execute MLO code on MMC0


I am trying to boot my own board via MMC0 with a MLO that I created.
My board's SYSBOOT settings put it in a mode for NAND->NANDI2C->MMC0->UART0 and there is nothing in NAND.
The header is almost identical to the MLO that is released with the 04.06.00.03 PSP. I've attached the hexdump of my generated MLO.
The difference is the size, and that's about it.
I have built other MLOs (they lack functionality or I would use them) that the ROM code boots correctly.
Does anyone see any red flags here?
6253.mlo-fail_sd_canon.log
Also note that the u-boot-spl.bin file that this MLO is created from boots perfectly.
Obviously, these files have identical data (excluding the headers).

Below are the tracing vectors taken from my debugger after it triggers on addr 0x20010 (data abort exception):
tracing vector 1: 0010009E
0000 0000 0001 0000 0000 0000 1001 1110
entered main function
running after the cold reset
main booting routine entered
memory booting started
GP header found
CHSETTINGS found

tracing vector 2: 00001F000
0000 0000 0000 0001 1111 0000 0000 0000
Memory booting trial 0
Memory booting trial 1
Memory booting trial 2
Memory booting trial 3
Execute GP image

tracing vector 3: 00001420
0000 0000 0000 0000 0001 0100 0010 0000
Memory booting device MMCSD0

Thanks,
Russell Robinson 

  • Russell, can you attach the actual MLO binary so we do some further investigation here?  I don't see anything out of the ordinary from what you sent so far.

    Regards,

    James

  • Hi James, 

    Thanks for the response, but you can disregard this...

    I had a printf statement that I was using to debug the PLLs while booting over UART. I forgot to remove it after that was adjusted and I switched back to MMC0 booting, but I was being thrown off by my debugger not consistently breaking in that init function so I completely spaced on it. Since UART0 wasn't being set up by the ROM code, it was aborting on the attempt to output over serial.

    Thanks,
    Russell