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 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:

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

Table 1. Instances
Base address Peripheral Instance Description Configuration
0x40014000 EGU EGU0

Event generator unit 0

   
0x40015000 EGU EGU1

Event generator unit 1

   
0x40016000 EGU EGU2

Event generator unit 2

   
0x40017000 EGU EGU3

Event generator unit 3

   
0x40018000 EGU EGU4

Event generator unit 4

   
0x40019000 EGU EGU5

Event generator unit 5

   
Table 2. Register overview
Register Offset Description
TASKS_TRIGGER[0] 0x000

Trigger 0 for triggering the corresponding TRIGGERED[0] event

 
TASKS_TRIGGER[1] 0x004

Trigger 1 for triggering the corresponding TRIGGERED[1] event

 
TASKS_TRIGGER[2] 0x008

Trigger 2 for triggering the corresponding TRIGGERED[2] event

 
TASKS_TRIGGER[3] 0x00C

Trigger 3 for triggering the corresponding TRIGGERED[3] event

 
TASKS_TRIGGER[4] 0x010

Trigger 4 for triggering the corresponding TRIGGERED[4] event

 
TASKS_TRIGGER[5] 0x014

Trigger 5 for triggering the corresponding TRIGGERED[5] event

 
TASKS_TRIGGER[6] 0x018

Trigger 6 for triggering the corresponding TRIGGERED[6] event

 
TASKS_TRIGGER[7] 0x01C

Trigger 7 for triggering the corresponding TRIGGERED[7] event

 
TASKS_TRIGGER[8] 0x020

Trigger 8 for triggering the corresponding TRIGGERED[8] event

 
TASKS_TRIGGER[9] 0x024

Trigger 9 for triggering the corresponding TRIGGERED[9] event

 
TASKS_TRIGGER[10] 0x028

Trigger 10 for triggering the corresponding TRIGGERED[10] event

 
TASKS_TRIGGER[11] 0x02C

Trigger 11 for triggering the corresponding TRIGGERED[11] event

 
TASKS_TRIGGER[12] 0x030

Trigger 12 for triggering the corresponding TRIGGERED[12] event

 
TASKS_TRIGGER[13] 0x034

Trigger 13 for triggering the corresponding TRIGGERED[13] event

 
TASKS_TRIGGER[14] 0x038

Trigger 14 for triggering the corresponding TRIGGERED[14] event

 
TASKS_TRIGGER[15] 0x03C

Trigger 15 for triggering the corresponding TRIGGERED[15] event

 
EVENTS_TRIGGERED[0] 0x100

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

 
EVENTS_TRIGGERED[1] 0x104

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

 
EVENTS_TRIGGERED[2] 0x108

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

 
EVENTS_TRIGGERED[3] 0x10C

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

 
EVENTS_TRIGGERED[4] 0x110

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

 
EVENTS_TRIGGERED[5] 0x114

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

 
EVENTS_TRIGGERED[6] 0x118

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

 
EVENTS_TRIGGERED[7] 0x11C

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

 
EVENTS_TRIGGERED[8] 0x120

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

 
EVENTS_TRIGGERED[9] 0x124

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

 
EVENTS_TRIGGERED[10] 0x128

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

 
EVENTS_TRIGGERED[11] 0x12C

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

 
EVENTS_TRIGGERED[12] 0x130

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

 
EVENTS_TRIGGERED[13] 0x134

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

 
EVENTS_TRIGGERED[14] 0x138

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

 
EVENTS_TRIGGERED[15] 0x13C

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

 
INTEN 0x300

Enable or disable interrupt

 
INTENSET 0x304

Enable interrupt

 
INTENCLR 0x308

Disable interrupt

 

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

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

Trigger n for triggering the corresponding TRIGGERED[n] event

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                                               A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID Access Field Value ID Value Description
A W

TASKS_TRIGGER

   

Trigger n for triggering the corresponding TRIGGERED[n] event

     

Trigger

1

Trigger task

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

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

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

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                                               A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID Access Field Value ID Value Description
A RW

EVENTS_TRIGGERED

   

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

     

NotGenerated

0

Event not generated

     

Generated

1

Event generated

INTEN

Address offset: 0x300

Enable or disable interrupt

Bit number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                 P O N M L K J I H G F E D C B A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID Access Field Value ID Value Description
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 number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                 P O N M L K J I H G F E D C B A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID Access Field Value ID Value Description
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 number 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID                                 P O N M L K J I H G F E D C B A
Reset 0x00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ID Access Field Value ID Value Description
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

Symbol Description Min. Typ. Max. Units
tEGU,EVT

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

1 cycles