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 then parses it, splits it into RPRCs for each core applicable. Each core is then initialized, RPRC 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
Parameter | Value |
---|---|
CPU + OS | wkup-r5fss0-0 nortos |
Toolchain | ti-arm-clang |
Board | am62px-sk |
Example folder | examples/drivers/boot/sbl_uart |
Refer Enabling DDR inline ECC enablig inline ECC
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.
python uart_bootloader.py -p /dev/ttyUSB0 --cfg=sbl_prebuilt/am62px-sk/default_sbl_uart.cfg
Here /dev/ttyUSB0 can be changed to COM port like'COM4' incase of Windows.
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.