Project Name: chained_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 performs a 1-dimensional DMA operation from memory to memory (without using the memory-to-memory system services API). This differs from normal peripheral DMA operations because memory DMA operations require 2 channels (one to get the source memory and one to place into the destination memory). Memory is copied from one location in SDRAM to another SDRAM location using a chain of buffer descriptors. Chaining buffers this way is a common method of doing DMA. When the DMA completes successfully, the LEDs will cycle a few times and then the program will terminate. If there is an error anywhere, all the LEDs will light up. You can adjust the number of BUFFERS, the number of ELEMENTS in each buffer, and the number of BYTES_PER_ELEMENT below. Keep in mind that you can easily go beyond the amount of SDRAM memory in the EZ-Kit. File Structure: "./chained_DMA.dpj" - Main project file "./chained_DMA.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 file "chained_DMA.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.