This bootloader does SOC initializations and attempts to boot a multicore appimage received over UART via XMODEM. The image file is sent using a python script (See UART Bootloader Python Script). Once image is received, the SBL parses it. Each core is then initialized, application image is loaded, entry points are set and the core is released from reset. For more on bootflow/bootloaders, please refer Understanding the bootflow and bootloaders
To parse and load an mcelf file via UART bootloader, use the project examples/drivers/boot/sbl_uart_multicore_elf
When an mcelf image is received, the SBL parses it, loads each segment to its respective core. Then the core is released from reset. For more information refer Understanding the bootflow and bootloaders
The steps to run the example is same irrespective of the image format.
Parameter | Value |
---|---|
CPU + OS | r5fss0-0 nortos |
Toolchain | ti-arm-clang |
Boards | am263px-cc, am263px-lp |
Example folder | examples/drivers/boot/sbl_uart |
Since this is a bootloader and is used as a SOC initialization binary, the example will be run every time you boot an application using this example. It is generally run from a boot media (OSPI Flash, SD Card or over UART) unlike other examples which are usually loaded with CCS. Nevertheless, you can build this example like you do for the others using makefile or build it via CCS by importing as a project.
Since this SBL receives the appimage over UART using XMODEM protocol, it doesn't print anything to the console so as not to corrupt the XMODEM transport.