This peripheral implements EasyDMA with scatter-gather functionality for reading from memory without CPU involvement.
The scatter-gather functionality allows EasyDMA to collect data from multiple memory regions, instead of one contiguous block. The memory regions are described by a job list, called input job list. The job list consists of one or more job entries that consist of a 32-bit address field, 8-bit attribute field, and 24-bit length field. A job list ends with a zero filled job entry.
- The three first bytes of the resolvable private address (the 24-bit hash)
- The three following bytes of the resolvable private address (the 24-bit prand)
- The IRKs
| Attribute | Value |
|---|---|
| Hash | 11 |
| Prand | 12 |
| Irk | 13 |
If the IN.PTR register or the entries in the input job list are not pointing to memory connected to the DMA bus, an EasyDMA transfer may result in a HardFault or memory corruption. See Memory for more information about the different memory regions and DMA connectivity.
The EasyDMA will have finished accessing the RAM when the END, RESOLVED, or NOTRESOLVED events are generated.
For instances supporting DMA error detection, the ERRORSTATUS register will report if a bus error has occurred during DMA access. To see if DMA error detection is supported, see the the instance's configuration in Instantiation.
| Attribute | Value |
|---|---|
| Resolved Irk index | 11 |
Example
- Hash, an array of length 3
- Prand, an array of length 3
- Irk, an array of at least length 16