mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-11-26 01:18:28 +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");
|
__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)
|
bool check_sdcard(void)
|
||||||
{
|
{
|
||||||
BOOTLOADER_PRINTLN("checking for SD card");
|
BOOTLOADER_PRINTLN("checking for SD card");
|
||||||
@ -136,6 +118,12 @@ int main(void)
|
|||||||
{
|
{
|
||||||
periph_init();
|
periph_init();
|
||||||
|
|
||||||
|
sdcard_init();
|
||||||
|
|
||||||
|
display_init();
|
||||||
|
display_clear();
|
||||||
|
display_backlight(255);
|
||||||
|
|
||||||
BOOTLOADER_PRINTLN("TREZOR Bootloader");
|
BOOTLOADER_PRINTLN("TREZOR Bootloader");
|
||||||
BOOTLOADER_PRINTLN("=================");
|
BOOTLOADER_PRINTLN("=================");
|
||||||
BOOTLOADER_PRINTLN("starting bootloader");
|
BOOTLOADER_PRINTLN("starting bootloader");
|
||||||
|
@ -23,33 +23,7 @@
|
|||||||
|
|
||||||
int main(void) {
|
int main(void) {
|
||||||
|
|
||||||
// STM32F4xx HAL library initialization:
|
periph_init();
|
||||||
// - 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
|
|
||||||
|
|
||||||
pendsv_init();
|
pendsv_init();
|
||||||
|
|
||||||
|
@ -15,25 +15,13 @@ void pendsv_isr_handler(void) {
|
|||||||
__fatal_error("pendsv");
|
__fatal_error("pendsv");
|
||||||
}
|
}
|
||||||
|
|
||||||
void periph_init(void)
|
int main(void)
|
||||||
{
|
{
|
||||||
HAL_Init();
|
periph_init();
|
||||||
|
|
||||||
SystemClock_Config();
|
|
||||||
|
|
||||||
__GPIOA_CLK_ENABLE();
|
|
||||||
__GPIOB_CLK_ENABLE();
|
|
||||||
__GPIOC_CLK_ENABLE();
|
|
||||||
__GPIOD_CLK_ENABLE();
|
|
||||||
|
|
||||||
display_init();
|
display_init();
|
||||||
display_clear();
|
display_clear();
|
||||||
display_backlight(255);
|
display_backlight(255);
|
||||||
}
|
|
||||||
|
|
||||||
int main(void)
|
|
||||||
{
|
|
||||||
periph_init();
|
|
||||||
|
|
||||||
__fatal_error("end reached");
|
__fatal_error("end reached");
|
||||||
|
|
||||||
|
@ -23,3 +23,36 @@ void __attribute__((noreturn)) __fatal_error(const char *msg) {
|
|||||||
void __attribute__((noreturn)) nlr_jump_fail(void *val) {
|
void __attribute__((noreturn)) nlr_jump_fail(void *val) {
|
||||||
__fatal_error("uncaught exception");
|
__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__
|
#ifndef __TREZORHAL_COMMON_H__
|
||||||
#define __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);
|
void __attribute__((noreturn)) nlr_jump_fail(void *val);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user