Boot bare metal application - MLO no longer used?


I’m running a bare metal software on my BBB. It is started via a special boot-application, a program named “MLO” located on eMMC card which then itself starts my application from microSD card. This is one boot option of the AM3358 and used by default.

Now I tried do to the same with the PocketBeagle, in this case with MLO and my application both on the microSD card - unfortunately it does not work, the application is not started.

My question: is there something fundamental different with the Octavo SoC? And is there a serial debug interface available too, similar to the one from the BBB where I can see some messages printed to serial console on boot?


The default serial console port for the PocketBeagle is UART0, labeled U0 TX and RX on the bottom of the card.
Same as Beaglebone, 3.3V, 115200 baud 8N1.
Works just like the BBB.

— Graham

Sounds like your version of MLO is too old.. Grab one of our v2017.11 builds...


MLO looks for uboot.bin. MLO can be rewritten to look for your application or rename your application to uboot.bin. I chose to rewrite MLO, but forget why. Was many years ago on Beagleboard Xm.

Ok, I played a bit more with it: on UART0 I do not get any data, neither with a microSD card inserted (which contains my own MLO) nor without. Is there anything additional neccessary to make it work? Even when there is something wrong with my MLO, I would have expected some output on the serial console.

The MLO itself comes out of the StarterWare package, so it is a self-compiled one which starts my bare metal application (which comes with an other name). So…is there anything which has to be done different for the PocketBeagle? It initialises a lot of peripherals, including SoC clock, RAM timing and other things more…

OK, short update: the debug header works, I get some data at UART0. But there nothing else than CCCCCCC is printed, which means the SoC does not find a suitable boot-device (although MLO file is in place on microSD card). Any ideas what couls cause this?

Yes, it does. New eeprom value, either use our u-boot modifications or
wait for TI to update their StarterWare binary..


TI has not changes anything in StarterWare since BBB, so I don’t expect a new MLO from this side - but it is not a problem since sources are included in StarterWare package and therefor can be build easily.

But this does not seem to be the problem, this “CCCCCCCC”-sequence means, the SoC does not find the MLO anywhere! So although it is available on the FatFS partition of the microSD card, it isn’t loaded.

Try reformatting SD card or use a new one. Copy MLO to the card first. Use a known good MLO. It is signed by a special TI utility.

OK, I got it: it seems, the Octavo-SoC does NOT support MLO as file on the FatSF partition. Writing it into the forst section of the SD card solved the problem, now the MLO is found and loaded.

This is not correct. The Octavo SIP is the same SoC as on BeagleBone Black (AM3358). You probably made a different mistake. Writing it into one of the fixed sections is less error-proned for some users, since putting it in FAT requires that the partition is marked bootable.