diff options
| -rw-r--r-- | demos/ARMCM3-STM32F103-FATFS-GCC/board.c | 5 | ||||
| -rw-r--r-- | demos/ARMCM3-STM32F103-GCC/board.c | 5 | ||||
| -rw-r--r-- | os/hal/platforms/STM32/hal_lld.c | 28 | ||||
| -rw-r--r-- | os/hal/platforms/STM32/hal_lld.h | 1 | 
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
  | 
