AM263Px MCU+ SDK: bootloader.h File Reference

| AM263Px MCU+ SDK 26.00.00 |

Data Structures | Macros | Typedefs | Functions
bootloader.h File Reference

## Introduction

Bootloader Driver API/interface file.

Go to the source code of this file.

## Data Structures
struct | Bootloader_Params
| Parameters passed during Bootloader_open() More...
struct | Bootloader_Fxns
| Driver implementation callbacks. More...
struct | Bootloader_Config
| Bootloader driver configuration, these are filled by SysCfg based on the boot media selected. More...
struct | Bootloader_CpuInfo
| Data structure containing information related to a particular CPU, required for RPRC loading. More...
struct | Bootloader_BootImageInfo
| Data structure containing information related all CPUs, this will be filled by Bootloader_parseMultiCoreAppImage. More...

## Macros
#define | BOOTLOADER_INVALID_ID (0xDEADBABE)
| Invalid ID magic number to be used for initializations. More...
#define | BOOTLOADER_OPMODE_LOCKSTEP (0U)
| Operating mode type. More...
#define | BOOTLOADER_OPMODE_STANDALONE (1U)
#define | BOOTLOADER_MEDIA_MEM (0xB0070001)
| Boot media IDs. More...
#define | BOOTLOADER_MEDIA_FLASH (0xB0070002)
#define | BOOTLOADER_MEDIA_EMMC (0xB0070003)
#define | BOOTLOADER_MEDIA_SD (0xB0070004)
#define | BOOTLOADER_MEDIA_BUFIO (0xB0070005)
#define | BOOTLOADER_MEDIA_PCIE (0xB0070006)
#define | BOOTLOADER_MEDIA_USB (0xB0070007)
#define | BOOTLOADER_MEDIA_UART (0xB0070008)
#define | BOOTLOADER_SCRATCH_MEM_ENABLE (1U)
| Bootloader buffer enable. More...
#define | LINUX_LOAD_ONLY_IMAGE_ID (21U)
| RPRC image ID for linux load only images. More...

## Typedefs
typedef void * | Bootloader_Handle
| Handle to the Bootloader driver returned by Bootloader_open() More...
Bootloader driver implementation callbacks
typedef int32_t(* | Bootloader_imgOpenFxn) (void *args, Bootloader_Params *params)
| Driver implementation to open a specific bootloader driver - Memory, OSPI, UART, MMCSD etc. More...
typedef int32_t(* | Bootloader_imgReadFxn) (void *dstAddr, uint32_t length, void *args)
| Driver implementation to read from boot media using a specific bootloader driver - Memory, OSPI, UART, MMCSD etc. More...
typedef uint32_t(* | Bootloader_imgOffsetFxn) (void *args)
| Driver implementation to get the current offset in the boot media. More...
typedef void(* | Bootloader_imgSeekFxn) (uint32_t location, void *args)
| Driver implementation to read from boot media using a specific bootloader driver - Memory, OSPI, UART, MMCSD etc. More...
typedef void(* | Bootloader_imgCloseFxn) (void *handle, void *args)
| Driver implementation to close a specific bootloader driver - Memory, OSPI, UART, MMCSD etc. More...
typedef int32_t(* | Bootloader_imgCustomFxn) (void *args)
| Driver implementation to enable a custom function for a specific bootloader driver - Memory, OSPI, UART, MMCSD etc. More...

## Functions
void | Bootloader_Params_init (Bootloader_Params *params)
| Initialize Bootloader params. More...
void | Bootloader_BootImageInfo_init (Bootloader_BootImageInfo *bootImageInfo)
| Initialize BootImage info. More...
void | Bootloader_CpuInfo_init (Bootloader_CpuInfo *cpuInfo)
| Initialize CPU info. More...
Bootloader_Handle | Bootloader_open (uint32_t instanceNum, Bootloader_Params *openParams)
| Open bootloader driver. More...
void | Bootloader_close (Bootloader_Handle handle)
| Close bootloader driver. More...
int32_t | Bootloader_initCpu (Bootloader_Handle handle, Bootloader_CpuInfo *cpuInfo)
| API to initialize a non-self CPU. More...
int32_t | Bootloader_loadCpu (Bootloader_Handle handle, Bootloader_CpuInfo *cpuInfo)
| API to load a non-self CPU. More...
int32_t | Bootloader_loadSelfCpu (Bootloader_Handle handle, Bootloader_CpuInfo *cpuInfo, uint32_t skipLoad)
| API to load self CPU. More...
int32_t | Bootloader_runCpu (Bootloader_Handle handle, Bootloader_CpuInfo *cpuInfo)
| API to run a non-self CPU. More...
int32_t | Bootloader_runSelfCpu (Bootloader_Handle handle, Bootloader_BootImageInfo *bootImageInfo)
| API to boot self CPU. More...
int32_t | Bootloader_bootCpu (Bootloader_Handle handle, Bootloader_CpuInfo *cpuInfo)
| API to boot a non-self CPU. More...
int32_t | Bootloader_bootSelfCpu (Bootloader_Handle handle, Bootloader_BootImageInfo *bootImageInfo)
| API to boot self CPU. More...
int32_t | Bootloader_parseMultiCoreAppImage (Bootloader_Handle handle, Bootloader_BootImageInfo *bootImageInfo)
| Parse Multicore Appimage. More...
int32_t | Bootloader_cpuSetAppEntryPoint (Bootloader_BootImageInfo *bootImageInfo, uint32_t bDualSelfR5F)
| Set Application entry point for self CPU in the AM65x SOC from reset. More...
int32_t | Bootloader_rprcImageParseEntryPoint (Bootloader_Handle handle, Bootloader_CpuInfo *cpuInfo)
| Parse entrypoint from RPRC. More...
int32_t | Bootloader_rprcImageLoad (Bootloader_Handle handle, Bootloader_CpuInfo *cpuInfo)
| Load application binaries into SOC memory. More...
int32_t | Bootloader_parseAndLoadLinuxAppImage (Bootloader_Handle handle, Bootloader_BootImageInfo *bootImageInfo)
| Parse and load linux Appimage, containing linux binaries(ATF, OPTEE, SPL) More...
int32_t | Bootloader_runSelfCpuWithLinux (void)
| API to boot self CPU with Linux. More...
uint32_t | Bootloader_getMulticoreImageSize (Bootloader_Handle handle)
| API to fetch the size of the multicore image. More...
uint32_t | Bootloader_isCorePresent (Bootloader_Handle handle, uint32_t cslCoreId)
| API to check if a particular core's image is present in the multicore image. More...
uint32_t | Bootloader_getBootMedia (Bootloader_Handle handle)
| API to get the selected boot media in the bootloader instance. More...
int32_t | Bootloader_parseAndLoadMultiCoreELF (Bootloader_Handle handle, Bootloader_BootImageInfo *bootImageInfo)
| API to parse and load MCELF image. More...
uint32_t | Bootloader_getX509CertLen (uint8_t *x509_cert_ptr)
| API to get the length of an x509 certificate. More...
uint32_t | Bootloader_getMsgLen (uint8_t *x509_cert_ptr, uint32_t x509_cert_size)
| API to get image length from a x509 certificate. More...