8.3.2.1 Use Model: Peripheral to Memory or Memory to Memory

  1. Enable PDMA using the MSS configurator of Libero SoC.
  2. Initialize the PDMA using PDMA_init().
  3. Check the status of PDMA channel using PDMA_status().
  4. Clear if any interrupts are pending PDMA_clear_irq().
  5. Configure the following using PDMA_configure().
    • Transfer type
    • Selection of the peripheral and direction (if peripheral to memory transfer is selected)
    • Transfer size (data width)
    • Source and destination address increment
    • Channel priority
    • Wait states (WRITE_ADJ)
  6. Start the transfer using PDMA_start().
    • Buffer A and buffer B source and destination addresses
    • Transfer count in bytes
  7. Enable channel interrupt and Cortex-M3 interrupt using PDMA_enable_irq().
  8. Disable the interrupt for channel PDMA_disable_irq().
  9. To pause the data transfers, use PDMA_pause().
  10. To resume the data transfer, use PDMA_resume().
  11. Check for completion of the data transfer using PDMA_status().
Important: The MSS PDMA does not support full behavioral simulation models. For more information, see SmartFusion2 MSS BFM Simulation User Guide.