| CMSIS-Core (Cortex-M) CMSIS-Core support for Cortex-M processor-based devices |

Loading...
Searching...
No Matches
Functions
NVIC Functions
TrustZone for Armv8-M/v8.1-M

Nested Vector Interrupt Controller (NVIC) functions related to TrustZone for Armv8-M. More...

## Functions
void | TZ_NVIC_ClearPendingIRQ_NS (IRQn_Type IRQn)
| Clear Pending Interrupt (non-secure)
void | TZ_NVIC_DisableIRQ_NS (IRQn_Type IRQn)
| Disable External Interrupt (non-secure)
void | TZ_NVIC_EnableIRQ_NS (IRQn_Type IRQn)
| Enable External Interrupt (non-secure)
uint32_t | TZ_NVIC_GetActive_NS (IRQn_Type IRQn)
| Get Active Interrupt (non-secure)
uint32_t | TZ_NVIC_GetEnableIRQ_NS (IRQn_Type IRQn)
| Get Interrupt Enable status (non-secure)
uint32_t | TZ_NVIC_GetPendingIRQ_NS (IRQn_Type IRQn)
| Get Pending Interrupt (non-secure)
uint32_t | TZ_NVIC_GetPriority_NS (IRQn_Type IRQn)
| Get Interrupt Priority (non-secure)
uint32_t | TZ_NVIC_GetPriorityGrouping_NS (void)
| Get Priority Grouping (non-secure)
void | TZ_NVIC_SetPendingIRQ_NS (IRQn_Type IRQn)
| Set Pending Interrupt (non-secure)
void | TZ_NVIC_SetPriority_NS (IRQn_Type IRQn, uint32_t priority)
| Set Interrupt Priority (non-secure)
void | TZ_NVIC_SetPriorityGrouping_NS (uint32_t PriorityGroup)
| Set Priority Grouping (non-secure)

## Description

Nested Vector Interrupt Controller (NVIC) functions related to TrustZone for Armv8-M.

## Function Documentation

## ◆ TZ_NVIC_ClearPendingIRQ_NS()

void TZ_NVIC_ClearPendingIRQ_NS | ( | IRQn_Type | IRQn | ) |

Clear Pending Interrupt (non-secure)

Clears the pending bit of an non-secure external interrupt when in secure state.

Parameters

  [in] | IRQn | External interrupt number. Value cannot be negative.

See also
  - NVIC_ClearPendingIRQ

## ◆ TZ_NVIC_DisableIRQ_NS()

void TZ_NVIC_DisableIRQ_NS | ( | IRQn_Type | IRQn | ) |

Disable External Interrupt (non-secure)

Disables a device-specific interrupt in the non-secure NVIC when in secure state.

Parameters

  [in] | IRQn | External interrupt number. Value cannot be negative.

See also
  - NVIC_DisableIRQ

## ◆ TZ_NVIC_EnableIRQ_NS()

void TZ_NVIC_EnableIRQ_NS | ( | IRQn_Type | IRQn | ) |

Enable External Interrupt (non-secure)

Enables a device-specific interrupt in the non-secure NVIC when in secure state.

Parameters

  [in] | IRQn | External interrupt number. Value cannot be negative.

See also
  - NVIC_EnableIRQ

## ◆ TZ_NVIC_GetActive_NS()

uint32_t TZ_NVIC_GetActive_NS | ( | IRQn_Type | IRQn | ) |

Get Active Interrupt (non-secure)

Reads the active register in non-secure NVIC when in secure state and returns the active bit.

Parameters

  [in] | IRQn | Interrupt number.

Returns
  0 Interrupt status is not active.
  1 Interrupt status is active.

See also
  - NVIC_GetActive

## ◆ TZ_NVIC_GetEnableIRQ_NS()

uint32_t TZ_NVIC_GetEnableIRQ_NS | ( | IRQn_Type | IRQn | ) |

Get Interrupt Enable status (non-secure)

Returns a device specific interrupt enable status from the non-secure NVIC interrupt controller when in secure state.

Parameters

  [in] | IRQn | Interrupt number.

Returns
  0 Interrupt is not enabled.
  1 Interrupt is enabled.

See also
  - NVIC_EnableIRQ; NVIC_DisableIRQ;

## ◆ TZ_NVIC_GetPendingIRQ_NS()

uint32_t TZ_NVIC_GetPendingIRQ_NS | ( | IRQn_Type | IRQn | ) |

Get Pending Interrupt (non-secure)

Reads the pending register in the non-secure NVIC when in secure state and returns the pending bit for the specified interrupt.

Parameters

  [in] | IRQn | Interrupt number.

Returns
  0 Interrupt status is not pending.
  1 Interrupt status is pending.

See also
  - NVIC_GetPendingIRQ

## ◆ TZ_NVIC_GetPriority_NS()

uint32_t TZ_NVIC_GetPriority_NS | ( | IRQn_Type | IRQn | ) |

Get Interrupt Priority (non-secure)

Reads the priority of an non-secure interrupt when in secure state. The interrupt number can be positive to specify an external (device specific) interrupt, or negative to specify an internal (core) interrupt.

Parameters

  [in] | IRQn | Interrupt number.

Returns
  Interrupt Priority. Value is aligned automatically to the implemented priority bits of the microcontroller.

See also
  - NVIC_GetPriority

## ◆ TZ_NVIC_GetPriorityGrouping_NS()

uint32_t TZ_NVIC_GetPriorityGrouping_NS | ( | void |  | ) |

Get Priority Grouping (non-secure)

Reads the priority grouping field from the non-secure NVIC when in secure state.

Returns
  Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field).

Note
  Only available for Armv8-M Mainline.

See also
  - NVIC_GetPriorityGrouping

## ◆ TZ_NVIC_SetPendingIRQ_NS()

void TZ_NVIC_SetPendingIRQ_NS | ( | IRQn_Type | IRQn | ) |

Set Pending Interrupt (non-secure)

Sets the pending bit of an non-secure external interrupt when in secure state.

Parameters

  [in] | IRQn | Interrupt number. Value cannot be negative.

See also
  - NVIC_SetPendingIRQ

## ◆ TZ_NVIC_SetPriority_NS()

void TZ_NVIC_SetPriority_NS | ( | IRQn_Type | IRQn,
|  | uint32_t | priority
| ) |  |

Set Interrupt Priority (non-secure)

Sets the priority of an non-secure interrupt when in secure state.

Note
  The priority cannot be set for every core interrupt.

Parameters

  [in] | IRQn | Interrupt number.
  [in] | priority | Priority to set.

See also
  - NVIC_SetPriority

## ◆ TZ_NVIC_SetPriorityGrouping_NS()

void TZ_NVIC_SetPriorityGrouping_NS | ( | uint32_t | PriorityGroup | ) |

Set Priority Grouping (non-secure)

Sets the non-secure priority grouping field when in secure state using the required unlock sequence. The parameter PriorityGroup is assigned to the field SCB->AIRCR [10:8] PRIGROUP field. Only values from 0..7 are used. In case of a conflict between priority grouping and available priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set.

Parameters

  [in] | PriorityGroup | Priority grouping field.

Note
  Only available for Armv8-M Mainline.

See also
  - NVIC_SetPriorityGrouping