34#ifndef _MCCI_BOOTLOADER_H_
35#define _MCCI_BOOTLOADER_H_
37#ifndef _MCCI_BOOTLOADER_TYPES_H_
41#ifndef _mcci_tweetnacl_sign_h_
42# include "mcci_tweetnacl_sign.h"
159 return (
const uint8_t *)top - (
const uint8_t *)base;
180 McciBootloader_AppInfo_t *pAppInfo,
181 const mcci_tweetnacl_sign_publickey_t *pPublicKey
187 const McciBootloader_AppInfo_t *pAppInfo
uint8_t g_McciBootloader_BssBase[]
base address of the .bss section in RAM (linker-defined).
uint8_t g_McciBootloader_SocRamBase[]
base address of the SoC RAM (linker-defined).
uint8_t g_McciBootloader_DataBase[]
base address of the .data section in RAM (linker-defined).
const uint8_t gk_McciBootloader_MfgTop[]
first address past end of the manufacturing data region (linker-defined).
bool McciBootloader_checkStorageImage(McciBootloaderStorageAddress_t address, McciBootloader_AppInfo_t *pAppInfo, const mcci_tweetnacl_sign_publickey_t *pPublicKey)
const uint8_t gk_McciBootloader_AppTop[]
first address past end of the application region (linker-defined).
uint8_t g_McciBootloader_BssTop[]
first address past end of the .bss section in RAM (linker-defined).
const uint8_t gk_McciBootloader_DataImageBase[]
address in flash of the initializer data for the .data section (linker-defined).
const uint8_t gk_McciBootloader_BootBase[]
base address of the bootloader in flash (linker-defined).
const uint8_t gk_McciBootloader_MfgBase[]
base address of the manufacturing data region in flash (linker-defined).
uint8_t g_McciBootloader_imageBlock[4096]
bool McciBootloader_checkCodeValid(const void *pBase, size_t numBytes)
const uint8_t gk_McciBootloader_ImageSize[]
bootloader image size in bytes (linker-computed integer; use as (uint32_t) &gk_McciBootloader_ImageSi...
@ McciBootloaderState_CheckingFallbackStorageHash
@ McciBootloaderState_WritingApp
@ McciBootloaderState_ErasingApp
@ McciBootloaderState_CheckingPrimaryStorageSignature
@ McciBootloaderState_CheckingFallbackStorageSignature
@ McciBootloaderState_CheckingPrimaryStorageHash
@ McciBootloaderState_Initial
initial state when annunciator launched
@ McciBootloaderState_CheckingApp
McciBootloaderError_t McciBootloader_programAndCheckFlash(McciBootloaderStorageAddress_t address, const McciBootloader_AppInfo_t *pAppInfo)
static size_t McciBootloader_codeSize(const void *base, const void *top)
const uint8_t gk_McciBootloader_BootTop[]
first address past end of the bootloader in flash (linker-defined).
const uint8_t gk_McciBootloader_AppBase[]
base address of the application region in flash (linker-defined).
uint8_t g_McciBootloader_SocRamTop[]
first address past end of the SoC RAM (linker-defined).
uint8_t g_McciBootloader_DataTop[]
first address past end of the .data section in RAM (linker-defined).
void McciBootloader_main(void)
@ McciBootloaderError_FlashNotFound
flash didn't reply properly to SFDP
@ McciBootloaderError_FlashWriteFailed
flash write failed during programming
@ McciBootloaderError_NoAppImage
app image not valid, no fallback available.
@ McciBootloaderError_ReadFailed
storage read failed during program
@ McciBootloaderError_OK
successful
@ McciBootloaderError_FlashVerifyFailed
flash verify failed after programming
@ McciBootloaderError_EraseFailed
erase failed
@ McciBootloaderError_FlashNotSupported
flash SFDP contents are prior to JESD216B, or otherwise not suitable.
@ McciBootloaderError_ResetClockNotValid
post-reset clock not valid
@ McciBootloaderError_BootloaderNotValid
bootloader image isn't valid
uint8_t g_McciBootloader_StackTop[]
initial stack pointer value (top of stack, linker-defined).
#define MCCI_BOOTLOADER_BEGIN_DECLS
#define MCCI_BOOTLOADER_END_DECLS
uint32_t McciBootloaderError_t
error codes for the bootloader
uint32_t McciBootloaderStorageAddress_t
Abstract type for storage byte addresses.