Forums › Reference, Evaluation, and Development Boards › Bare metal boot of Octavo Red
Has anyone the instructions for getting the Octavo Red to boot directly into a bare metal application, for example the ‘OSD335x Bare Minimum Board Boot Process’ example?
I am developing an application for OSD335x using Starterware and I want to load directly on boot-up, not under Linux.
I am not planning on having an sd card in the product, so I guess this process would have to be based on U-boot?
Thanks in advance
steve robinson
Hello Steve,
We found few interesting links that talk about loading and running bare metal applications using U-Boot:
Guides:
https://www.cs.sfu.ca/CourseCentral/433/bfraser/other/BareMetalGuide.pdf
https://www.twosixlabs.com/running-a-baremetal-beaglebone-black-part-2/
Forum Posts:
https://e2e.ti.com/support/embedded/starterware/f/790/t/431403
https://groups.google.com/forum/#!topic/beagleboard/eEZVrthmb8w
(4th post from the bottom)
Code:
https://github.com/allexoll/BBB-BareMetal
We will validate these links for the RED board and get back to you beginning of next week.
TI provides a guide on how to boot a bare metal application using the StarterWare boot loader (http://processors.wiki.ti.com/index.php/AM335X_StarterWare_Booting_And_Flashing). However, you can also run Bare Metal applications directly from on board eMMC or SD card of the RED board using U-Boot. To do so:
1. Locate the “.bin” file that was created as part of the build process for the bare metal application in CCS.
2. Boot the OSD3358-SM-RED board. You can either boot directly from the eMMC or you can create an SD Card with the latest image (https://octavosystems.com/files/osd3358-sm-red-linux-image/) and boot from that.
3. Load the “.bin” file of the application on to the eMMC/SD card of the OSD3358-SM-RED. You can use Cloud 9 or an FTP client like WinSCP or similar to transfer the file to the board. Note the location of the file.
4. Connect to the UART0 debug header of the OSD3358-SM-RED board (Jumper J3) using a USB to UART adapter and use a terminal program, like Putty, to communicate with the OSD3358-SM-RED. This will allow you to see the initial boot messages that are put on UART0.
5. Reboot the OSD3358-SM-RED board.
6. As soon as it reboots, you will start seeing U-Boot boot messages on the serial interface. Press “Space bar” to enter U-Boot command line interface.
7.
To load a program from on board eMMC:
>> load mmc 1:1 0x80000000 <path to your app’s .bin file>
>> go 0x80000000
For example,
>> load mmc 1:1 0x80000000 /home/debian/demoApp.bin
>> go 0x80000000
To load a program from SD Card:
>> load mmc 0:1 0x80000000 <path to your app’s .bin file>
>> go 0x80000000
8. This will start your application. If you want to automate this process on boot then you can update the u-boot environment settings to autoboot your application.
You can try this out with the demo applications provided by StarterWare. However, there are a couple of caveats:
1. Currently, the u-boot device tree on the OSD3358-SM-RED does not support Ethernet networking. We will be releasing an updated to fix that in the near future.
2. Depending on the u-boot configuration, the Watch Dog Timer may be enabled. You can make sure you understand the state of the Watch Dog Timer and set it appropriately for your application.
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