FreeRTOS port on GAP8/RISC-V
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages

Functions that manage interrupts and exceptions via the NVIC. More...

Macros

#define NVIC_EnableIRQ
 
#define NVIC_GetEnableIRQ
 
#define NVIC_DisableIRQ
 
#define NVIC_GetPendingIRQ
 
#define NVIC_SetPendingIRQ
 
#define NVIC_ClearPendingIRQ
 
#define NVIC_GetActive
 
#define NVIC_SystemReset
 
#define NVIC_SetVector
 
#define NVIC_GetVector
 
#define NVIC_USER_IRQ_OFFSET
 
#define NVIC_M_IRQ_OFFSET
 
#define NVIC_EnableIRQ
 
#define NVIC_GetEnableIRQ
 
#define NVIC_DisableIRQ
 
#define NVIC_GetPendingIRQ
 
#define NVIC_SetPendingIRQ
 
#define NVIC_ClearPendingIRQ
 
#define NVIC_GetActive
 
#define NVIC_SystemReset
 
#define NVIC_SetVector
 
#define NVIC_GetVector
 
#define NVIC_USER_IRQ_OFFSET
 
#define NVIC_M_IRQ_OFFSET
 

Functions

__STATIC_INLINE void __NVIC_EnableIRQ (IRQn_Type IRQn)
 Enable Interrupt. More...
 
__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ (IRQn_Type IRQn)
 Get Interrupt Enable status. More...
 
__STATIC_INLINE void __NVIC_DisableIRQ (IRQn_Type IRQn)
 Disable Interrupt. More...
 
__STATIC_INLINE uint32_t __NVIC_GetPendingIRQ (IRQn_Type IRQn)
 Get Pending Interrupt. More...
 
__STATIC_INLINE void __NVIC_SetPendingIRQ (IRQn_Type IRQn)
 Set Pending Interrupt. More...
 
__STATIC_INLINE void __NVIC_ClearPendingIRQ (IRQn_Type IRQn)
 Clear Pending Interrupt. More...
 
__STATIC_INLINE uint32_t __NVIC_GetActive (IRQn_Type IRQn)
 Get Active Interrupt. More...
 
__STATIC_INLINE uint32_t __NVIC_ForgeItVect (uint32_t ItBaseAddr, uint32_t ItIndex, uint32_t ItHandler)
 
__STATIC_INLINE void __NVIC_SetVector (IRQn_Type IRQn, uint32_t vector)
 Set Interrupt Vector. More...
 
__STATIC_INLINE uint32_t __NVIC_GetVector (IRQn_Type IRQn)
 Get Interrupt Vector. More...
 
__STATIC_INLINE void __NVIC_SystemReset (void)
 System Reset. More...
 
__STATIC_INLINE void __NVIC_EnableIRQ (uint32_t IRQn)
 Enable Interrupt. More...
 
__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ (uint32_t IRQn)
 Get Interrupt Enable status. More...
 
__STATIC_INLINE void __NVIC_DisableIRQ (uint32_t IRQn)
 Disable Interrupt. More...
 
__STATIC_INLINE uint32_t __NVIC_GetPendingIRQ (uint32_t IRQn)
 Get Pending Interrupt. More...
 
__STATIC_INLINE void __NVIC_SetPendingIRQ (uint32_t IRQn)
 Set Pending Interrupt. More...
 
__STATIC_INLINE void __NVIC_ClearPendingIRQ (uint32_t IRQn)
 Clear Pending Interrupt. More...
 
__STATIC_INLINE uint32_t __NVIC_GetActive (uint32_t IRQn)
 Get Active Interrupt. More...
 
__STATIC_INLINE void __NVIC_SetVector (uint32_t IRQn, uint32_t vector)
 Set Interrupt Vector. More...
 
__STATIC_INLINE uint32_t __NVIC_GetVector (uint32_t IRQn)
 Get Interrupt Vector. More...
 

Description

Macro Definition Documentation

#define NVIC_ClearPendingIRQ
#define NVIC_ClearPendingIRQ
#define NVIC_DisableIRQ
#define NVIC_DisableIRQ
#define NVIC_EnableIRQ
#define NVIC_GetActive
#define NVIC_GetActive
#define NVIC_GetEnableIRQ
#define NVIC_GetEnableIRQ
#define NVIC_GetPendingIRQ
#define NVIC_GetPendingIRQ
#define NVIC_GetVector
#define NVIC_GetVector
#define NVIC_M_IRQ_OFFSET
#define NVIC_M_IRQ_OFFSET
#define NVIC_SetPendingIRQ
#define NVIC_SetPendingIRQ
#define NVIC_SetVector

Referenced by __pi_octospi_open().

#define NVIC_SetVector
#define NVIC_SystemReset
#define NVIC_SystemReset
#define NVIC_USER_IRQ_OFFSET
#define NVIC_USER_IRQ_OFFSET

Function Documentation

__STATIC_INLINE void __NVIC_ClearPendingIRQ ( IRQn_Type  IRQn)

Clears the pending bit of a device specific interrupt in the NVIC pending register.

Parameters
[in]IRQnDevice specific interrupt number.
Note
IRQn must not be negative.
__STATIC_INLINE void __NVIC_ClearPendingIRQ ( uint32_t  IRQn)

Clears the pending bit of a device specific interrupt in the NVIC pending register.

Parameters
[in]IRQnDevice specific interrupt number.
Note
IRQn must not be negative.
__STATIC_INLINE void __NVIC_DisableIRQ ( IRQn_Type  IRQn)

Disables a device specific interrupt in the NVIC interrupt controller.

Parameters
[in]IRQnDevice specific interrupt number.
Note
IRQn must not be negative.

References NVIC.

__STATIC_INLINE void __NVIC_DisableIRQ ( uint32_t  IRQn)

Disables a device specific interrupt in the NVIC interrupt controller.

Parameters
[in]IRQnDevice specific interrupt number.
Note
IRQn must not be negative.

References NVIC.

__STATIC_INLINE void __NVIC_EnableIRQ ( IRQn_Type  IRQn)

Enables a device specific interrupt in the NVIC interrupt controller.

Parameters
[in]IRQnDevice specific interrupt number.
Note
IRQn must not be negative.

References NVIC.

__STATIC_INLINE void __NVIC_EnableIRQ ( uint32_t  IRQn)

Enables a device specific interrupt in the NVIC interrupt controller.

Parameters
[in]IRQnDevice specific interrupt number.
Note
IRQn must not be negative.

References NVIC.

__STATIC_INLINE uint32_t __NVIC_ForgeItVect ( uint32_t  ItBaseAddr,
uint32_t  ItIndex,
uint32_t  ItHandler 
)

References __BIT_EXTRACT, and __BIT_INSERT.

Referenced by __NVIC_SetVector().

__STATIC_INLINE uint32_t __NVIC_GetActive ( IRQn_Type  IRQn)

Reads the active register in the NVIC and returns the active bit for the device specific interrupt.

Parameters
[in]IRQnDevice specific interrupt number.
Returns
0 Interrupt status is not active.
1 Interrupt status is active.
Note
IRQn must not be negative.

References NVIC.

__STATIC_INLINE uint32_t __NVIC_GetActive ( uint32_t  IRQn)

Reads the active register in the NVIC and returns the active bit for the device specific interrupt.

Parameters
[in]IRQnDevice specific interrupt number.
Returns
0 Interrupt status is not active.
1 Interrupt status is active.
Note
IRQn must not be negative.

References NVIC.

__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ ( IRQn_Type  IRQn)

Returns a device specific interrupt enable status from the NVIC interrupt controller.

Parameters
[in]IRQnDevice specific interrupt number.
Returns
0 Interrupt is not enabled.
1 Interrupt is enabled.
Note
IRQn must not be negative.

References NVIC.

__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ ( uint32_t  IRQn)

Returns a device specific interrupt enable status from the NVIC interrupt controller.

Parameters
[in]IRQnDevice specific interrupt number.
Returns
0 Interrupt is not enabled.
1 Interrupt is enabled.
Note
IRQn must not be negative.

References NVIC.

__STATIC_INLINE uint32_t __NVIC_GetPendingIRQ ( IRQn_Type  IRQn)

Reads the NVIC pending register and returns the pending bit for the specified device specific interrupt.

Parameters
[in]IRQnDevice specific interrupt number.
Returns
0 Interrupt status is not pending.
1 Interrupt status is pending.
Note
IRQn must not be negative.
__STATIC_INLINE uint32_t __NVIC_GetPendingIRQ ( uint32_t  IRQn)

Reads the NVIC pending register and returns the pending bit for the specified device specific interrupt.

Parameters
[in]IRQnDevice specific interrupt number.
Returns
0 Interrupt status is not pending.
1 Interrupt status is pending.
Note
IRQn must not be negative.
__STATIC_INLINE uint32_t __NVIC_GetVector ( IRQn_Type  IRQn)

Reads an interrupt vector from interrupt vector table. The interrupt number can be positive to specify a device specific interrupt, or negative to specify a processor exception.

Parameters
[in]IRQnInterrupt number.
Returns
Address of interrupt handler function

References CPRIV_PRIV_Msk.

__STATIC_INLINE uint32_t __NVIC_GetVector ( uint32_t  IRQn)

Reads an interrupt vector from interrupt vector table. The interrupt number can be positive to specify a device specific interrupt, or negative to specify a processor exception.

Parameters
[in]IRQnInterrupt number.
Returns
Address of interrupt handler function

References CPRIV_PRIV_Msk.

__STATIC_INLINE void __NVIC_SetPendingIRQ ( IRQn_Type  IRQn)

Sets the pending bit of a device specific interrupt in the NVIC pending register.

Parameters
[in]IRQnDevice specific interrupt number.
Note
IRQn must not be negative.
__STATIC_INLINE void __NVIC_SetPendingIRQ ( uint32_t  IRQn)

Sets the pending bit of a device specific interrupt in the NVIC pending register.

Parameters
[in]IRQnDevice specific interrupt number.
Note
IRQn must not be negative.
__STATIC_INLINE void __NVIC_SetVector ( IRQn_Type  IRQn,
uint32_t  vector 
)

Sets an interrupt vector in SRAM based interrupt vector table. The interrupt number can be positive to specify a device specific interrupt, or negative to specify a processor exception. VTOR must been relocated to SRAM before.

Parameters
[in]IRQnInterrupt number
[in]vectorAddress of interrupt handler function

References __NVIC_ForgeItVect(), and CPRIV_PRIV_Msk.

__STATIC_INLINE void __NVIC_SetVector ( uint32_t  IRQn,
uint32_t  vector 
)

Sets an interrupt vector in SRAM based interrupt vector table. The interrupt number can be positive to specify a device specific interrupt, or negative to specify a processor exception. VTOR must been relocated to SRAM before.

Parameters
[in]IRQnInterrupt number
[in]vectorAddress of interrupt handler function

References __NVIC_ForgeItVect(), and CPRIV_PRIV_Msk.

__STATIC_INLINE void __NVIC_SystemReset ( void  )

Initiates a system reset request to reset the MCU.