aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--demos/ARMCM3-STM32F103-FATFS-GCC/board.c5
-rw-r--r--demos/ARMCM3-STM32F103-GCC/board.c5
-rw-r--r--os/hal/platforms/STM32/hal_lld.c28
-rw-r--r--os/hal/platforms/STM32/hal_lld.h1
4 files changed, 11 insertions, 28 deletions
diff --git a/demos/ARMCM3-STM32F103-FATFS-GCC/board.c b/demos/ARMCM3-STM32F103-FATFS-GCC/board.c
index 58be4d77f..8c33354ae 100644
--- a/demos/ARMCM3-STM32F103-FATFS-GCC/board.c
+++ b/demos/ARMCM3-STM32F103-FATFS-GCC/board.c
@@ -38,11 +38,6 @@ void hwinit0(void) {
void hwinit1(void) {
/*
- * NVIC/SCB initialization.
- */
- stm32_nvic_init();
-
- /*
* HAL initialization.
*/
halInit();
diff --git a/demos/ARMCM3-STM32F103-GCC/board.c b/demos/ARMCM3-STM32F103-GCC/board.c
index 58be4d77f..8c33354ae 100644
--- a/demos/ARMCM3-STM32F103-GCC/board.c
+++ b/demos/ARMCM3-STM32F103-GCC/board.c
@@ -38,11 +38,6 @@ void hwinit0(void) {
void hwinit1(void) {
/*
- * NVIC/SCB initialization.
- */
- stm32_nvic_init();
-
- /*
* HAL initialization.
*/
halInit();
diff --git a/os/hal/platforms/STM32/hal_lld.c b/os/hal/platforms/STM32/hal_lld.c
index 7a096070e..a904cf69f 100644
--- a/os/hal/platforms/STM32/hal_lld.c
+++ b/os/hal/platforms/STM32/hal_lld.c
@@ -72,6 +72,17 @@ const STM32GPIOConfig pal_default_config =
*/
void hal_lld_init(void) {
+ /* Note: PRIGROUP 4:0 (4:4).*/
+ SCB->AIRCR = AIRCR_VECTKEY | SCB_AIRCR_PRIGROUP_0 | SCB_AIRCR_PRIGROUP_1;
+ NVICSetSystemHandlerPriority(HANDLER_SVCALL, PRIORITY_SVCALL);
+ NVICSetSystemHandlerPriority(HANDLER_SYSTICK, PRIORITY_SYSTICK);
+ NVICSetSystemHandlerPriority(HANDLER_PENDSV, PRIORITY_PENDSV);
+
+ /* Systick initialization.*/
+ SysTick->LOAD = SYSCLK / (8000000 / CH_FREQUENCY) - 1;
+ SysTick->VAL = 0;
+ SysTick->CTRL = SysTick_CTRL_ENABLE | SysTick_CTRL_TICKINT;
+
#if CH_HAL_USE_ADC || CH_HAL_USE_SPI
dmaInit();
#endif
@@ -108,21 +119,4 @@ void stm32_clock_init(void) {
;
}
-/**
- * @brief STM32 NVIC/SCB/SYSTICK initialization.
- * @note All the involved constants come from the file @p board.h.
- */
-void stm32_nvic_init(void) {
-
- /* Note: PRIGROUP 4:0 (4:4).*/
- SCB->AIRCR = AIRCR_VECTKEY | SCB_AIRCR_PRIGROUP_0 | SCB_AIRCR_PRIGROUP_1;
- NVICSetSystemHandlerPriority(HANDLER_SVCALL, PRIORITY_SVCALL);
- NVICSetSystemHandlerPriority(HANDLER_SYSTICK, PRIORITY_SYSTICK);
- NVICSetSystemHandlerPriority(HANDLER_PENDSV, PRIORITY_PENDSV);
-
- SysTick->LOAD = SYSCLK / (8000000 / CH_FREQUENCY) - 1;
- SysTick->VAL = 0;
- SysTick->CTRL = SysTick_CTRL_ENABLE | SysTick_CTRL_TICKINT;
-}
-
/** @} */
diff --git a/os/hal/platforms/STM32/hal_lld.h b/os/hal/platforms/STM32/hal_lld.h
index 455a65b32..b0bba29d5 100644
--- a/os/hal/platforms/STM32/hal_lld.h
+++ b/os/hal/platforms/STM32/hal_lld.h
@@ -61,7 +61,6 @@ extern "C" {
#endif
void hal_lld_init(void);
void stm32_clock_init(void);
- void stm32_nvic_init(void);
#ifdef __cplusplus
}
#endif