MCUXpresso_MIMXRT1052xxxxB/boards/evkbimxrt1050/driver_examples/edma/ping_pong_transfer
Yilin Sun 6baf4427ce
Updated to v2.15.000
Signed-off-by: Yilin Sun <imi415@imi.moe>
2024-03-18 23:15:10 +08:00
..
armgcc Updated to v2.15.000 2024-03-18 23:15:10 +08:00
board.c Updated to v2.15.000 2024-03-18 23:15:10 +08:00
board.h Updated to v2.15.000 2024-03-18 23:15:10 +08:00
clock_config.c Update SDK to v2.13.0 2023-01-26 09:35:56 +08:00
clock_config.h Update SDK to v2.13.0 2023-01-26 09:35:56 +08:00
dcd.c SDK v2.11.1 2022-04-08 22:46:35 +08:00
dcd.h SDK v2.11.1 2022-04-08 22:46:35 +08:00
edma_ping_pong_transfer_v3_14.xml Updated to v2.15.000 2024-03-18 23:15:10 +08:00
edma_ping_pong_transfer.c SDK v2.11.1 2022-04-08 22:46:35 +08:00
evkbimxrt1050_sdram_init.jlinkscript Updated to v2.14.0 2023-11-30 20:55:00 +08:00
pin_mux.c SDK v2.11.1 2022-04-08 22:46:35 +08:00
pin_mux.h SDK v2.11.1 2022-04-08 22:46:35 +08:00
readme.md Updated to v2.15.000 2024-03-18 23:15:10 +08:00

Overview

The EDMA ping pong transfer example is a simple demonstration program that uses the SDK software. It excuates ping pong transfer from source buffer to destination buffer using the SDK EDMA drivers. The purpose of this example is to show how to use ping pong buffer by the EDMA and to provide a simple example for debugging and further development. The example demostrate the ping pong transfer by the EDMA scatter gather feature. Please reference user manual for the detail of the feature. minor loop finished +--------------------------------------------------------------+ v | +-------+ +---------------------------------------------------------------+ +---------------------------+ load tcd1 +-----------------------------------+ major loop not finish +------------------+ | start | --> | tcd 0 major loop | --> | tcd 0 major loop finished | -----------> | tcd 1 major loop | -----------------------> | tcd 1 minor loop | +-------+ +---------------------------------------------------------------+ +---------------------------+ +-----------------------------------+ +------------------+ | ^ ^ | | major loop not finish | minor loop finished | load tcd 0 | v | | v +------------------------+ | | +-----------------------------------+ | tcd 0 minor loop | -+ +----------------------------------------------------------- | tcd 1 major loop finished | +------------------------+ +-----------------------------------+ | | v +-----------------------------------+ | transfer counter ++ | +-----------------------------------+ | | transfer counter not less than 5 v +-----------------------------------+ | example complete | +-----------------------------------+

SDK version

  • Version: 2.15.000

Toolchain supported

  • IAR embedded Workbench 9.40.1
  • Keil MDK 5.38.1
  • GCC ARM Embedded 12.2
  • MCUXpresso 11.8.0

Hardware requirements

  • Mini/micro USB cable
  • EVKB-IMXRT1050 board
  • Personal Computer

Board settings

No special settings are required.

Prepare the Demo

  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.
  2. Open a serial terminal with the following settings:
    • 115200 baud rate
    • 8 data bits
    • No parity
    • One stop bit
    • No flow control
  3. Download the program to the target board.
  4. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

When the example runs successfully, you can see the similar information from the terminal as below.

EDMA ping pong transfer example begin.



Destination Buffer:

0   0   0   0   0   0   0   0



EDMA ping pong transfer example finish.



Destination Buffer:

1   2   3   4   5   6   7   8