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.
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 |
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 |
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 |
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 |
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 |
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 |
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 |
Symbol | Description | Min. | Typ. | Max. | Units | ||||
---|---|---|---|---|---|---|---|---|---|
tEGU,EVT |
Latency between setting an EGU event flag and the system setting an interrupt |
1 | cycles |