AM275 FreeRTOS SDK  11.00.00
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
SBL SD

Introduction

This bootloader does SOC initializations and attempts to boot R5 image by the name "app_{corename}", C7x image by the name "dsp_{corename}", present in the first FAT partition found in the connected SD card.

The image name for different cores can be as follows

CORE IMAGE NAME
r5fss0-0 app_r50_0
r5fss0-1 app_r50_1
r5fss1-0 app_r51_0
r5fss1-1 app_r51_1
c75ss0-0 app_dsp0_0
c75ss1-0 app_dsp0_1

The file can be copied to the SD card by connecting it to the host PC using a card reader. Make sure that the images are named without any file extension. If the card is new, make sure that it is formatted with FAT32/16.

If a multicore appimage file is found at the location, the SBL reads the file metadata into a buffer, parses it, and identifies the program segments for each core applicable. These program segments are then read from respective offset as per the metadata and loads it to corresponding load address. Each core is then initialized, entry points are set and the core is released from reset.

Since the image is loaded segment wise directly from SD card to load addresses it eliminates the usage of large intermediate scratch buffer to hold the complete image. For more on bootflow/bootloaders, please refer Understanding the bootflow and bootloaders

Supported Combinations

Parameter Value
CPU + OS wkup-r5fss0-0 freertos
Toolchain ti-arm-clang
Boards am275x-evm
Example folder examples/drivers/boot/sbl_sd

Steps to Run the Example

Since this is a bootloader, the example will be run every time you boot an application using this example. It is run from an SD card 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.

  • When using CCS projects to build, import the CCS project for the required combination and build it using the CCS project menu (see Using SDK with CCS Projects).
  • When using makefiles to build, note the required combination and build using make command (see Using SDK with Makefiles)
  • Refer to the page Basic steps to flash files to flash this bootloader along with the application to boot.

See Also

BOOTLOADER

Sample Output

[BOOTLOADER PROFILE] SYSFW Load : 17632us
[BOOTLOADER PROFILE] System_init : 12246us
[BOOTLOADER PROFILE] Drivers_open : 82499us
[BOOTLOADER PROFILE] Board_driversOpen : 0us
[BOOTLOADER PROFILE] File read from SD card : 6843us
[BOOTLOADER PROFILE] CPU load : 9501us
[BOOTLOADER_PROFILE] SBL Total Time Taken : 129399us
Image loading done, switching to application ...