115 #ifdef HAL_CORTEX_MODULE_ENABLED 170 NVIC_SetPriorityGrouping(PriorityGroup);
188 uint32_t prioritygroup = 0x00;
192 assert_param(IS_NVIC_PREEMPTION_PRIORITY(PreemptPriority));
194 prioritygroup = NVIC_GetPriorityGrouping();
196 NVIC_SetPriority(IRQn, NVIC_EncodePriority(prioritygroup, PreemptPriority, SubPriority));
214 NVIC_EnableIRQ(IRQn);
230 NVIC_DisableIRQ(IRQn);
252 return SysTick_Config(TicksNumb);
281 return NVIC_GetPriorityGrouping();
305 void HAL_NVIC_GetPriority(IRQn_Type IRQn, uint32_t PriorityGroup, uint32_t *pPreemptPriority, uint32_t *pSubPriority)
310 NVIC_DecodePriority(NVIC_GetPriority(IRQn), PriorityGroup, pPreemptPriority, pSubPriority);
326 NVIC_SetPendingIRQ(IRQn);
344 return NVIC_GetPendingIRQ(IRQn);
360 NVIC_ClearPendingIRQ(IRQn);
374 return NVIC_GetActive(IRQn);
389 if (CLKSource == SYSTICK_CLKSOURCE_HCLK)
391 SysTick->CTRL |= SYSTICK_CLKSOURCE_HCLK;
395 SysTick->CTRL &= ~SYSTICK_CLKSOURCE_HCLK;
419 #if (__MPU_PRESENT == 1) 430 SCB->SHCSR &= ~SCB_SHCSR_MEMFAULTENA_Msk;
450 MPU->CTRL = MPU_Control | MPU_CTRL_ENABLE_Msk;
453 SCB->SHCSR |= SCB_SHCSR_MEMFAULTENA_Msk;
473 MPU->RNR = MPU_Init->Number;
475 if ((MPU_Init->Enable) != RESET)
478 assert_param(IS_MPU_INSTRUCTION_ACCESS(MPU_Init->DisableExec));
479 assert_param(IS_MPU_REGION_PERMISSION_ATTRIBUTE(MPU_Init->AccessPermission));
481 assert_param(IS_MPU_ACCESS_SHAREABLE(MPU_Init->IsShareable));
482 assert_param(IS_MPU_ACCESS_CACHEABLE(MPU_Init->IsCacheable));
483 assert_param(IS_MPU_ACCESS_BUFFERABLE(MPU_Init->IsBufferable));
484 assert_param(IS_MPU_SUB_REGION_DISABLE(MPU_Init->SubRegionDisable));
487 MPU->RBAR = MPU_Init->BaseAddress;
488 MPU->RASR = ((uint32_t)MPU_Init->DisableExec << MPU_RASR_XN_Pos) |
489 ((uint32_t)MPU_Init->AccessPermission << MPU_RASR_AP_Pos) |
490 ((uint32_t)MPU_Init->TypeExtField << MPU_RASR_TEX_Pos) |
491 ((uint32_t)MPU_Init->IsShareable << MPU_RASR_S_Pos) |
492 ((uint32_t)MPU_Init->IsCacheable << MPU_RASR_C_Pos) |
493 ((uint32_t)MPU_Init->IsBufferable << MPU_RASR_B_Pos) |
494 ((uint32_t)MPU_Init->SubRegionDisable << MPU_RASR_SRD_Pos) |
495 ((uint32_t)MPU_Init->Size << MPU_RASR_SIZE_Pos) |
496 ((uint32_t)MPU_Init->Enable << MPU_RASR_ENABLE_Pos);
void HAL_SYSTICK_IRQHandler(void)
Handle SYSTICK interrupt request.
void HAL_MPU_Disable(void)
Disable the MPU.
void HAL_MPU_ConfigRegion(MPU_Region_InitTypeDef *MPU_Init)
Initialize and configure the Region and the memory to be protected.
This file contains all the functions prototypes for the HAL module driver.
uint32_t HAL_SYSTICK_Config(uint32_t TicksNumb)
Initialize the System Timer with interrupt enabled and start the System Tick Timer (SysTick): Counter...
void HAL_NVIC_SystemReset(void)
Initiate a system reset request to reset the MCU.
void HAL_NVIC_SetPendingIRQ(IRQn_Type IRQn)
Set Pending bit of an external interrupt.
void HAL_SYSTICK_Callback(void)
SYSTICK callback.
void HAL_MPU_Enable(uint32_t MPU_Control)
Enable the MPU.
void HAL_NVIC_EnableIRQ(IRQn_Type IRQn)
Enable a device specific interrupt in the NVIC interrupt controller.
void HAL_NVIC_GetPriority(IRQn_Type IRQn, uint32_t PriorityGroup, uint32_t *pPreemptPriority, uint32_t *pSubPriority)
Get the priority of an interrupt.
void HAL_SYSTICK_CLKSourceConfig(uint32_t CLKSource)
Configure the SysTick clock source.
uint32_t HAL_NVIC_GetActive(IRQn_Type IRQn)
Get active interrupt (read the active register in NVIC and return the active bit).
void HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority)
Set the priority of an interrupt.
void HAL_NVIC_DisableIRQ(IRQn_Type IRQn)
Disable a device specific interrupt in the NVIC interrupt controller.
uint32_t HAL_NVIC_GetPendingIRQ(IRQn_Type IRQn)
Get Pending Interrupt (read the pending register in the NVIC and return the pending bit for the speci...
uint32_t HAL_NVIC_GetPriorityGrouping(void)
Get the priority grouping field from the NVIC Interrupt Controller.
void HAL_NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
Set the priority grouping field (pre-emption priority and subpriority) using the required unlock sequ...
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))
void HAL_NVIC_ClearPendingIRQ(IRQn_Type IRQn)
Clear the pending bit of an external interrupt.