103 .size =
sizeof(McciBootloader_AppInfo_t),
106 .authsize =
sizeof(McciBootloader_SignatureBlock_t),
112const McciBootloader_SignatureBlock_t
153 uint32_t **
const pResult = (uint32_t **)arg1;
154 McciBootloaderBoard_CatenaAbz_Eeprom_t *
const pEeprom =
159 *pResult = &pEeprom->fUpdateRequest;
167 mcci_tweetnacl_sha512_t *
const pHash = (
void *)arg1;
169 mcci_tweetnacl_hashblocks_sha512_init(pHash);
178 if (arg1 == 0 || (arg1 & 3) != 0)
182 mcci_tweetnacl_sha512_t *
const pHash = pArg->
pHash;
183 pArg->
nMessage = mcci_tweetnacl_hashblocks_sha512(
197 if (arg1 == 0 || (arg1 & 3) != 0)
201 mcci_tweetnacl_sha512_t *
const pHash = pArg->
pHash;
202 mcci_tweetnacl_hashblocks_sha512_finish(
214 const mcci_tweetnacl_sha512_t *
const
215 pArg1 = (
void *)arg1;
216 const mcci_tweetnacl_sha512_t *
const
217 pArg2 = (
void *)arg2;
219 mcci_tweetnacl_result_t
const r = mcci_tweetnacl_verify_64(pArg1->bytes, pArg2->bytes);
220 err = mcci_tweetnacl_result_is_success(r)
const void * gk_McciBootloader_ImageSize
void * g_McciBootloader_StackTop
#define MCCI_BOOTLOADER_APP_INFO_MAGIC
McciBootloaderBoard_CatenaAbz_Eeprom_t * McciBootloaderBoard_CatenaAbz_getEepromPointer(void)
void McciBootloaderBoard_CatenaAbz_handleSysTick(void)
void McciBootloader_main(void)
static void McciBootloaderBoard_CatenaAbz_NotHandled(void)
interrupt not handled; loop.
const McciBootloader_SignatureBlock_t gk_McciBootloader_SignatureBlock
the application signature block
static McciBootloaderPlatform_ARMv6M_SvcHandlerFn_t McciBootloaderBoard_CatenaAbz_SvcHandler
const McciBootloader_CortexPageZero_t gk_McciBootloader_CortexVectors
the CortexM0 vectors for the boot loader.
Mcci_CortexVectorsContents_t CortexVectors
McciBootloader_CortexPageZeroContents_t PageZero