EGU — Event generator unit

Event generator unit (EGU) provides support for interlayer signaling. This means providing support for atomic triggering of both CPU execution and hardware tasks, from both firmware (by CPU) and hardware (by PPI). This feature can, for instance, be used for triggering CPU execution at a lower priority execution from a higher priority execution, or to handle a peripheral's interrupt service routine (ISR) execution at a lower priority for some of its events. However, triggering any priority from any priority is possible.

Listed here are the main EGU features:

  • Software-enabled interrupt triggering
  • Separate interrupt vectors for every EGU instance
  • Up to 16 separate event flags per interrupt for multiplexing

Each instance of EGU implements a set of tasks which can individually be triggered to generate the corresponding event, for example, the corresponding event for TASKS_TRIGGER[n] is EVENTS_TRIGGERED[n]. See Instances for a list of EGU instances.

Registers

Instances

InstanceBase addressTrustZoneSplit accessDescription
MapAttDMA

EGU0 : S
EGU0 : NS

0x5001B000
0x4001B000

USNSNANo

Event generator unit 0

EGU1 : S
EGU1 : NS

0x5001C000
0x4001C000

USNSNANo

Event generator unit 1

EGU2 : S
EGU2 : NS

0x5001D000
0x4001D000

USNSNANo

Event generator unit 2

EGU3 : S
EGU3 : NS

0x5001E000
0x4001E000

USNSNANo

Event generator unit 3

EGU4 : S
EGU4 : NS

0x5001F000
0x4001F000

USNSNANo

Event generator unit 4

EGU5 : S
EGU5 : NS

0x50020000
0x40020000

USNSNANo

Event generator unit 5

Register overview

RegisterOffsetTZDescription
TASKS_TRIGGER[n]0x000

Trigger n for triggering the corresponding TRIGGERED[n] event

SUBSCRIBE_TRIGGER[n]0x080

Subscribe configuration for task TRIGGER[n]

EVENTS_TRIGGERED[n]0x100

Event number n generated by triggering the corresponding TRIGGER[n] task

PUBLISH_TRIGGERED[n]0x180

Publish configuration for event TRIGGERED[n]

INTEN0x300

Enable or disable interrupt

INTENSET0x304

Enable interrupt

INTENCLR0x308

Disable interrupt

TASKS_TRIGGER[n] (n=0..15)

Address offset: 0x000 + (n × 0x4)

Trigger n for triggering the corresponding TRIGGERED[n] event

Bit number313029282726252423222120191817161514131211109876543210
IDA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

W

TASKS_TRIGGER

Trigger n for triggering the corresponding TRIGGERED[n] event

Trigger

1

Trigger task

SUBSCRIBE_TRIGGER[n] (n=0..15)

Address offset: 0x080 + (n × 0x4)

Subscribe configuration for task TRIGGER[n]

Bit number313029282726252423222120191817161514131211109876543210
IDBAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

CHIDX

[0..255]

DPPI channel that task TRIGGER[n] will subscribe to

B

RW

EN

Disabled

0

Disable subscription

Enabled

1

Enable subscription

EVENTS_TRIGGERED[n] (n=0..15)

Address offset: 0x100 + (n × 0x4)

Event number n generated by triggering the corresponding TRIGGER[n] task

Bit number313029282726252423222120191817161514131211109876543210
IDA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

EVENTS_TRIGGERED

Event number n generated by triggering the corresponding TRIGGER[n] task

NotGenerated

0

Event not generated

Generated

1

Event generated

PUBLISH_TRIGGERED[n] (n=0..15)

Address offset: 0x180 + (n × 0x4)

Publish configuration for event TRIGGERED[n]

Bit number313029282726252423222120191817161514131211109876543210
IDBAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

CHIDX

[0..255]

DPPI channel that event TRIGGERED[n] will publish to

B

RW

EN

Disabled

0

Disable publishing

Enabled

1

Enable publishing

INTEN

Address offset: 0x300

Enable or disable interrupt

Bit number313029282726252423222120191817161514131211109876543210
IDPONMLKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A-P

RW

TRIGGERED[i] (i=0..15)

Enable or disable interrupt for event TRIGGERED[i]

Disabled

0

Disable

Enabled

1

Enable

INTENSET

Address offset: 0x304

Enable interrupt

Bit number313029282726252423222120191817161514131211109876543210
IDPONMLKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A-P

RW

TRIGGERED[i] (i=0..15)

Write '1' to enable interrupt for event TRIGGERED[i]

Set

1

Enable

Disabled

0

Read: Disabled

Enabled

1

Read: Enabled

INTENCLR

Address offset: 0x308

Disable interrupt

Bit number313029282726252423222120191817161514131211109876543210
IDPONMLKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A-P

RW

TRIGGERED[i] (i=0..15)

Write '1' to disable interrupt for event TRIGGERED[i]

Clear

1

Disable

Disabled

0

Read: Disabled

Enabled

1

Read: Enabled

Electrical specification

EGU Electrical Specification

SymbolDescriptionMin.Typ.Max.Units
tEGU,EVT

Latency between setting an EGU event flag and the system setting an interrupt

1cycles