Project Name: Memory2D_DMA Project Type: ADSP-BF533 [ ] ADSP-BF537 [X] ADSP-BF561 [ ] Hardware Used: EZ-Kit LEDs System Services Components Used: DMA Manager [X] Deferred Callback Manager [X] Interrupt Manager [X] Timer Module [ ] Power Management Module [ ] Flag Module [ ] External Bus Interface Unit Module [ ] Port Module [ ] Example Overview: This example shows how to use the memory DMA interface of the DMA manager to perform 2-dimensional DMA transfers. First it does a 1-byte wide memory DMA transfer of a simple 2-D array without callbacks. Then it does a 4-byte wide memory DMA transfer of a simple 2-D array without callbacks. Next it extracts a single column from a 2-D array and copies that into a 1-D array. This is useful to extract every Nth element from a stream of elements. Finally, it transposes a square 2-D matrix, making rows into columns and columns into rows. This could be useful to separate multiple interleaved streams of data. This demonstrates the usefulness of a negative count in a DMA copy operation. This uses callbacks. On successful completion, the LEDs will cycle indefinitely. In the event of a failure, all the LEDs will light up. File Structure: "./memdma_2D.dpj" - Main project file "./memdma_2D.c" - Main source file (common) "./ezkitutilities.c" - EZ-Kit utilities source file for Blackfin processors "./ezkitutilities.h" - EZ-Kit utilities include file for Blackfin processors System Configuration: Defaults External connections: None Getting Started: 1) Load Project group file "memdma_2D.dpj" 2) Build Project by selecting "Project->Rebuild Project" 3) Select "Debug->Run" 4) Observe EZ-Kit LEDs as described above 5) When finished, select "Debug->Halt" to stop the program.