160 const McciBootloader_AppInfo_t *
const pBootloaderAppInfo =
166 if (pBootloaderAppInfo == NULL)
173 const McciBootloader_SignatureBlock_t *
const pBootloaderSigBlock =
178 if (pBootloaderSigBlock == NULL)
185 const mcci_tweetnacl_sign_publickey_t *
const pPublicKey =
186 &pBootloaderSigBlock->publicKey;
195 bool fFirmwareUpdatePending;
198 if (appOk && ! fFirmwareUpdatePending)
227 if (appOk && !fImageOk)
237 if (appOk && fImageOk)
240 else if (! appOk && fImageOk)
282 hStorage = hFallback;
const void * gk_McciBootloader_BootBase
const void * gk_McciBootloader_BootTop
@ McciBootloaderState_CheckingPrimaryStorageHash
static size_t McciBootloader_codeSize(const void *base, const void *top)
const void * gk_McciBootloader_AppTop
const void * gk_McciBootloader_AppBase
@ McciBootloaderError_NoAppImage
app image not valid, no fallback available.
@ McciBootloaderError_OK
successful
@ McciBootloaderError_BootloaderNotValid
bootloader image isn't valid
uint32_t McciBootloaderError_t
error codes for the bootloader
uint32_t McciBootloaderStorageAddress_t
Abstract type for storage byte addresses.
bool McciBootloader_checkCodeValid(const void *pBase, size_t nBytes)
bool McciBootloader_checkStorageImage(McciBootloaderStorageAddress_t address, McciBootloader_AppInfo_t *pIncomingAppInfo, const mcci_tweetnacl_sign_publickey_t *pPublicKey)
McciBootloader_AppInfo_t g_McciBootloader_incomingAppInfo
void McciBootloader_main(void)
McciBootloaderError_t McciBootloader_programAndCheckFlash(McciBootloaderStorageAddress_t storageAddress, const McciBootloader_AppInfo_t *pAppInfo)