mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-12-26 16:18:22 +00:00
firmware: extract periph_init into common.c
This commit is contained in:
parent
e313234fe3
commit
a9d16aa7fa
@ -20,24 +20,6 @@ void pendsv_isr_handler(void) {
|
||||
__fatal_error("pendsv");
|
||||
}
|
||||
|
||||
void periph_init(void)
|
||||
{
|
||||
HAL_Init();
|
||||
|
||||
SystemClock_Config();
|
||||
|
||||
__GPIOA_CLK_ENABLE();
|
||||
__GPIOB_CLK_ENABLE();
|
||||
__GPIOC_CLK_ENABLE();
|
||||
__GPIOD_CLK_ENABLE();
|
||||
|
||||
sdcard_init();
|
||||
|
||||
display_init();
|
||||
display_clear();
|
||||
display_backlight(255);
|
||||
}
|
||||
|
||||
bool check_sdcard(void)
|
||||
{
|
||||
BOOTLOADER_PRINTLN("checking for SD card");
|
||||
@ -136,6 +118,12 @@ int main(void)
|
||||
{
|
||||
periph_init();
|
||||
|
||||
sdcard_init();
|
||||
|
||||
display_init();
|
||||
display_clear();
|
||||
display_backlight(255);
|
||||
|
||||
BOOTLOADER_PRINTLN("TREZOR Bootloader");
|
||||
BOOTLOADER_PRINTLN("=================");
|
||||
BOOTLOADER_PRINTLN("starting bootloader");
|
||||
|
@ -23,33 +23,7 @@
|
||||
|
||||
int main(void) {
|
||||
|
||||
// STM32F4xx HAL library initialization:
|
||||
// - configure the Flash prefetch, instruction and data caches
|
||||
// - configure the Systick to generate an interrupt each 1 msec
|
||||
// - set NVIC Group Priority to 4
|
||||
// - global MSP (MCU Support Package) initialization
|
||||
HAL_Init();
|
||||
|
||||
// Set the system clock to be HSE
|
||||
SystemClock_Config();
|
||||
|
||||
// Enable GPIO clocks
|
||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOB_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOC_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOD_CLK_ENABLE();
|
||||
|
||||
// Enable the CCM RAM
|
||||
__HAL_RCC_CCMDATARAMEN_CLK_ENABLE();
|
||||
|
||||
// Clear the reset flags
|
||||
PWR->CR |= PWR_CR_CSBF;
|
||||
RCC->CSR |= RCC_CSR_RMVF;
|
||||
|
||||
// Enable CPU ticks
|
||||
CoreDebug->DEMCR |= CoreDebug_DEMCR_TRCENA_Msk; // Enable DWT
|
||||
DWT->CYCCNT = 0; // Reset Cycle Count Register
|
||||
DWT->CTRL |= DWT_CTRL_CYCCNTENA_Msk; // Enable Cycle Count Register
|
||||
periph_init();
|
||||
|
||||
pendsv_init();
|
||||
|
||||
|
@ -15,25 +15,13 @@ void pendsv_isr_handler(void) {
|
||||
__fatal_error("pendsv");
|
||||
}
|
||||
|
||||
void periph_init(void)
|
||||
int main(void)
|
||||
{
|
||||
HAL_Init();
|
||||
|
||||
SystemClock_Config();
|
||||
|
||||
__GPIOA_CLK_ENABLE();
|
||||
__GPIOB_CLK_ENABLE();
|
||||
__GPIOC_CLK_ENABLE();
|
||||
__GPIOD_CLK_ENABLE();
|
||||
periph_init();
|
||||
|
||||
display_init();
|
||||
display_clear();
|
||||
display_backlight(255);
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
periph_init();
|
||||
|
||||
__fatal_error("end reached");
|
||||
|
||||
|
@ -23,3 +23,36 @@ void __attribute__((noreturn)) __fatal_error(const char *msg) {
|
||||
void __attribute__((noreturn)) nlr_jump_fail(void *val) {
|
||||
__fatal_error("uncaught exception");
|
||||
}
|
||||
|
||||
extern void SystemClock_Config(void);
|
||||
|
||||
void periph_init(void) {
|
||||
|
||||
// STM32F4xx HAL library initialization:
|
||||
// - configure the Flash prefetch, instruction and data caches
|
||||
// - configure the Systick to generate an interrupt each 1 msec
|
||||
// - set NVIC Group Priority to 4
|
||||
// - global MSP (MCU Support Package) initialization
|
||||
HAL_Init();
|
||||
|
||||
// Set the system clock to be HSE
|
||||
SystemClock_Config();
|
||||
|
||||
// Enable GPIO clocks
|
||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOB_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOC_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOD_CLK_ENABLE();
|
||||
|
||||
// Enable the CCM RAM
|
||||
__HAL_RCC_CCMDATARAMEN_CLK_ENABLE();
|
||||
|
||||
// Clear the reset flags
|
||||
PWR->CR |= PWR_CR_CSBF;
|
||||
RCC->CSR |= RCC_CSR_RMVF;
|
||||
|
||||
// Enable CPU ticks
|
||||
CoreDebug->DEMCR |= CoreDebug_DEMCR_TRCENA_Msk; // Enable DWT
|
||||
DWT->CYCCNT = 0; // Reset Cycle Count Register
|
||||
DWT->CTRL |= DWT_CTRL_CYCCNTENA_Msk; // Enable Cycle Count Register
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
#ifndef __TREZORHAL_COMMON_H__
|
||||
#define __TREZORHAL_COMMON_H__
|
||||
|
||||
void SystemClock_Config(void); // defined in stm32_system.c
|
||||
void periph_init(void);
|
||||
|
||||
void __attribute__((noreturn)) nlr_jump_fail(void *val);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user