![]() |
MCCI Trusted Bootloader
Simple trusted bootloader and tools for small embedded systems
|
#include "mcci_bootloader_types.h"#include "mcci_arm_cm0plus.h"#include "mcci_bootloader_cm0plus_appimage.h"#include "mcci_bootloader_platform_types.h"Go to the source code of this file.
Macros | |
| #define | _mcci_bootloader_stm32l0_h_ /* prevent multiple includes */ |
Functions | |
| void | McciBootloader_Stm32L0_prepareForLaunch (void) |
| MCCI_BOOTLOADER_BEGIN_DECLS void | McciBootloader_Stm32L0_systemInit (void) |
Variables | |
| const McciBootloader_CortexPageZero_t | gk_McciBootloader_CortexVectors |
| the CortexM0 vectors for the boot loader. | |
| McciBootloaderPlatform_SystemFlashEraseFn_t | McciBootloader_Stm32L0_systemFlashErase |
| McciBootloaderPlatform_SystemFlashWriteFn_t | McciBootloader_Stm32L0_systemFlashWrite |
| #define _mcci_bootloader_stm32l0_h_ /* prevent multiple includes */ |
Definition at line 23 of file mcci_bootloader_stm32l0.h.
| void McciBootloader_Stm32L0_prepareForLaunch | ( | void | ) |
wait for clock to switch
Definition at line 73 of file mccibootloader_stm32l0_prepareforlaunch.c.
References MCCI_CM0PLUS_SYSTICK_CSR, MCCI_CM0PLUS_SYSTICK_CSR_ENABLE, MCCI_CM0PLUS_SYSTICK_CSR_TICKINT, MCCI_STM32L0_REG_FLASH_ACR, MCCI_STM32L0_REG_FLASH_ACR_DISAB_BUF, MCCI_STM32L0_REG_FLASH_ACR_LATENCY, MCCI_STM32L0_REG_FLASH_ACR_PRE_READ, MCCI_STM32L0_REG_FLASH_ACR_PRFTEN, MCCI_STM32L0_REG_FLASH_ACR_RUN_PD, MCCI_STM32L0_REG_FLASH_ACR_SLEEP_PD, MCCI_STM32L0_REG_RCC_AHBRSTR, MCCI_STM32L0_REG_RCC_APB1RSTR, MCCI_STM32L0_REG_RCC_APB2RSTR, MCCI_STM32L0_REG_RCC_CFGR, MCCI_STM32L0_REG_RCC_CFGR_HPRE, MCCI_STM32L0_REG_RCC_CFGR_MCOPRE, MCCI_STM32L0_REG_RCC_CFGR_MCOSEL, MCCI_STM32L0_REG_RCC_CFGR_PLLDIV, MCCI_STM32L0_REG_RCC_CFGR_PLLMUL, MCCI_STM32L0_REG_RCC_CFGR_PLLSRC, MCCI_STM32L0_REG_RCC_CFGR_PPRE1, MCCI_STM32L0_REG_RCC_CFGR_PPRE2, MCCI_STM32L0_REG_RCC_CFGR_SW, MCCI_STM32L0_REG_RCC_CFGR_SWS, MCCI_STM32L0_REG_RCC_CFGR_SWS_MSI, MCCI_STM32L0_REG_RCC_CIER, MCCI_STM32L0_REG_RCC_CR, MCCI_STM32L0_REG_RCC_CR_CSSHSEON, MCCI_STM32L0_REG_RCC_CR_HSEBYP, MCCI_STM32L0_REG_RCC_CR_HSEON, MCCI_STM32L0_REG_RCC_CR_HSI16DIVEN, MCCI_STM32L0_REG_RCC_CR_HSI16ON, MCCI_STM32L0_REG_RCC_CR_MSION, MCCI_STM32L0_REG_RCC_CR_MSIRDY, MCCI_STM32L0_REG_RCC_CR_PLLON, MCCI_STM32L0_REG_RCC_CRRCR, MCCI_STM32L0_REG_RCC_CRRCR_HSI48ON, MCCI_STM32L0_REG_RCC_ICSCR, MCCI_STM32L0_REG_RCC_ICSCR_MSIRANGE, MCCI_STM32L0_REG_RCC_ICSCR_MSIRANGE_4194k, MCCI_STM32L0_REG_RCC_IOPRSTR, McciArm_getReg(), McciArm_putReg(), McciArm_putRegClear(), McciArm_putRegMasked(), and McciArm_putRegOr().
Referenced by McciBootloaderBoard_CatenaAbz_prepareForLaunch().
| MCCI_BOOTLOADER_BEGIN_DECLS void McciBootloader_Stm32L0_systemInit | ( | void | ) |
wait for clock to switch
Definition at line 79 of file mccibootloader_stm32l0_systeminit.c.
References gk_McciBootloader_CortexVectors, MCCI_BOOTLOADER_FIELD_SET_VALUE, MCCI_CM0PLUS_PRI_INDEX_SYSTICK, MCCI_CM0PLUS_SCB_VTOR, MCCI_CM0PLUS_SYSTICK_CSR, MCCI_CM0PLUS_SYSTICK_CSR_CLKSOURCE, MCCI_CM0PLUS_SYSTICK_CSR_ENABLE, MCCI_CM0PLUS_SYSTICK_CSR_TICKINT, MCCI_CM0PLUS_SYSTICK_CVR, MCCI_CM0PLUS_SYSTICK_RVR, MCCI_STM32L0_REG_FLASH_ACR, MCCI_STM32L0_REG_FLASH_ACR_DISAB_BUF, MCCI_STM32L0_REG_FLASH_ACR_LATENCY, MCCI_STM32L0_REG_FLASH_ACR_PRE_READ, MCCI_STM32L0_REG_FLASH_ACR_PRFTEN, MCCI_STM32L0_REG_PWR_CR, MCCI_STM32L0_REG_PWR_CR_DBP, MCCI_STM32L0_REG_PWR_CR_VOS, MCCI_STM32L0_REG_PWR_CR_VOS_1V8, MCCI_STM32L0_REG_RCC_AHBRSTR, MCCI_STM32L0_REG_RCC_APB1ENR, MCCI_STM32L0_REG_RCC_APB1ENR_PWREN, MCCI_STM32L0_REG_RCC_APB1RSTR, MCCI_STM32L0_REG_RCC_APB2RSTR, MCCI_STM32L0_REG_RCC_CFGR, MCCI_STM32L0_REG_RCC_CFGR_HPRE, MCCI_STM32L0_REG_RCC_CFGR_MCOPRE, MCCI_STM32L0_REG_RCC_CFGR_MCOSEL, MCCI_STM32L0_REG_RCC_CFGR_PLLDIV, MCCI_STM32L0_REG_RCC_CFGR_PLLDIV_2, MCCI_STM32L0_REG_RCC_CFGR_PLLMUL, MCCI_STM32L0_REG_RCC_CFGR_PLLMUL_4, MCCI_STM32L0_REG_RCC_CFGR_PLLSRC, MCCI_STM32L0_REG_RCC_CFGR_PLLSRC_HSI16, MCCI_STM32L0_REG_RCC_CFGR_PPRE1, MCCI_STM32L0_REG_RCC_CFGR_PPRE2, MCCI_STM32L0_REG_RCC_CFGR_SW, MCCI_STM32L0_REG_RCC_CFGR_SW_MSI, MCCI_STM32L0_REG_RCC_CFGR_SW_PLL, MCCI_STM32L0_REG_RCC_CFGR_SWS, MCCI_STM32L0_REG_RCC_CFGR_SWS_PLL, MCCI_STM32L0_REG_RCC_CIER, MCCI_STM32L0_REG_RCC_CR, MCCI_STM32L0_REG_RCC_CR_CSSHSEON, MCCI_STM32L0_REG_RCC_CR_HSEBYP, MCCI_STM32L0_REG_RCC_CR_HSEON, MCCI_STM32L0_REG_RCC_CR_HSI16DIVEN, MCCI_STM32L0_REG_RCC_CR_HSI16ON, MCCI_STM32L0_REG_RCC_CR_HSI16RDYF, MCCI_STM32L0_REG_RCC_CR_MSION, MCCI_STM32L0_REG_RCC_CR_PLLON, MCCI_STM32L0_REG_RCC_CR_PLLRDY, MCCI_STM32L0_REG_RCC_CRRCR, MCCI_STM32L0_REG_RCC_CRRCR_HSI48ON, MCCI_STM32L0_REG_RCC_CSR, MCCI_STM32L0_REG_RCC_CSR_LSEON, MCCI_STM32L0_REG_RCC_CSR_LSERDY, MCCI_STM32L0_REG_RCC_ICSCR, MCCI_STM32L0_REG_RCC_ICSCR_HSI16TRIM, MCCI_STM32L0_REG_RCC_IOPRSTR, McciArm_getReg(), McciArm_putReg(), McciArm_putRegClear(), McciArm_putRegMasked(), McciArm_putRegOr(), McciBootloaderError_ResetClockNotValid, McciBootloaderPlatform_fail(), McciCm0Plus_SCB_SHPR_getMask(), and McciCm0Plus_SCB_SHPR_getRegister().
|
extern |
the CortexM0 vectors for the boot loader.
The vectors are put in section .McciBootloader_Vectors – be sure to research the link script when making changes here.
Definition at line 45 of file mccibootloaderboard_catenaabz_vectors.c.
| McciBootloaderPlatform_SystemFlashEraseFn_t McciBootloader_Stm32L0_systemFlashErase |
Definition at line 65 of file mcci_bootloader_stm32l0.h.
| McciBootloaderPlatform_SystemFlashWriteFn_t McciBootloader_Stm32L0_systemFlashWrite |
Definition at line 68 of file mcci_bootloader_stm32l0.h.