147 for (++ms; ms > 0; --ms)
170 unsigned timeToReboot;
172 McciArm_disableInterrupts();
173 timeToReboot = 60 * 1000;
177 for (; timeToReboot > 0; --timeToReboot)
183 McciArm_DataSynchBarrier();
193 McciArm_DataSynchBarrier();
206 rOdr ^= UINT32_C(1) << 2;
static uint32_t McciArm_putRegOr(uint32_t reg, uint32_t orVal)
or 32-bit values to a cm0plus register
static uint32_t McciArm_getReg(uint32_t reg)
read a 32-bit value from a cm0plus register
static uint32_t McciArm_putReg(uint32_t reg, uint32_t val)
write a 32-bit value to a cm0plus register
#define MCCI_CM0PLUS_SCB_AIRCR_SYSRESETREQ
#define MCCI_CM0PLUS_SYSTICK_CSR
#define MCCI_CM0PLUS_SCB_AIRCR
#define MCCI_CM0PLUS_SCB_AIRCR_VECTKEY_VALUE
Value to write to unlock regster.
static uint32_t McciArm_putRegMasked(uint32_t reg, uint32_t maskVal, uint32_t modVal)
store to cm0plus register under mask
#define MCCI_CM0PLUS_SYSTICK_CSR_COUNTFLAG
timer has counted to zero
#define MCCI_CM0PLUS_SCB_AIRCR_VECTKEY
Vector key.
@ McciBootloaderError_BootloaderNotValid
bootloader image isn't valid
#define MCCI_BOOTLOADER_FIELD_SET_VALUE(fmask, val)
McciBootloaderPlatform_DelayMsFn_t McciBootloaderBoard_CatenaAbz_delayMs
McciBootloaderPlatform_AnnunciatorIndicateStateFn_t McciBootloaderBoard_CatenaAbz_annunciatorIndicateState
void McciBootloaderBoard_CatenaAbz_handleSysTick(void)
McciBootloaderPlatform_SystemInitFn_t McciBootloaderBoard_CatenaAbz_systemInit
MCCI_BOOTLOADER_BEGIN_DECLS void McciBootloader_Stm32L0_systemInit(void)
#define MCCI_BOOTLOADER_NORETURN_SFX
uint32_t McciBootloaderError_t
error codes for the bootloader
#define MCCI_BOOTLOADER_NORETURN_PFX
#define MCCI_STM32L0_GPIO_BSRR
#define MCCI_STM32L0_REG_RCC_IOPENR_IOPBEN
#define MCCI_STM32L0_REG_GPIOB
Section 9.4.12: GPIO register map (1K)
#define MCCI_STM32L0_GPIO_ODR
#define MCCI_STM32L0_GPIO_MODER
#define MCCI_STM32L0_REG_RCC_IOPENR
GPIO clock enable.
#define MCCI_STM32L0_GPIO_BRR
#define MCCI_STM32L0_GPIO_MODE_OUT
#define MCCI_STM32L0_GPIO_MODE_P(p)
compute the mask for the mode bits for port bits 0..15
static MCCI_BOOTLOADER_NORETURN_PFX void fastBlinkForever(void)
void McciBootloaderBoard_CatenaAbz_fail(McciBootloaderError_t errorCode)
void McciBootloaderBoard_CatenaAbz_clearLed(void)
static void delayTick(void)
void McciBootloaderBoard_CatenaAbz_setLed(void)