|
||
---|---|---|
.. | ||
armgcc | ||
board.c | ||
board.h | ||
clock_config.c | ||
clock_config.h | ||
dcd.c | ||
dcd.h | ||
edma_interleave_transfer_v3_14.xml | ||
edma_interleave_transfer.c | ||
evkbimxrt1050_sdram_init.jlinkscript | ||
pin_mux.c | ||
pin_mux.h | ||
readme.md |
Overview
The EDMA interleave transfer example is a simple demonstration program that uses the SDK software. It excuates interleave transfer from source buffer to destination buffer using the SDK EDMA drivers. The purpose of this example is to show how to use the interleave feature of EDMA and to provide a simple example for debugging and further development. The example demostrates the interleave transfer by features:
-
edma minor loop offset.
+---------------------+ +------------------+ | transfer complete | -----------------------> | example complete | +---------------------+ +------------------+ ^ | | +---------------------+ | major loop finished | +---------------------+ ^ | |
+-------+ +---------------------+ major loop not finish +------------------+ +---------------------+ | start | --> | major loop | -----------------------> | minor loop | --> | minor loop finished | +-------+ +---------------------+ +------------------+ +---------------------+ ^ dest/source address offset | +-------------------------------------------------------------------------+
-
edma source/destination address offset.
+---------------------+ +------------------+ | transfer complete | -----------------------> | example complete | +---------------------+ +------------------+ ^ | | +---------------------+ | major loop finished | +---------------------+ ^ | |
+-------+ +---------------------+ major loop not finish +------------------+ dest/source address offset +---------------------+ | start | --> | major loop | -----------------------> | minor loop | ----------------------------> | minor loop finished | +-------+ +---------------------+ +------------------+ +---------------------+ ^ | +---------------------------------------------------------------------------------------------------+
Please reference user manual for the detail of the feature.
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
- Connect a USB cable between the host PC and the OpenSDA USB port on the target board.
- Open a serial terminal with the following settings:
- 115200 baud rate
- 8 data bits
- No parity
- One stop bit
- No flow control
- Download the program to the target board.
- 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 interleave transfer example.
edma signle transfer interleave start
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
edma signle transfer interleave finished
1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0
edma minor loop interleave start
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
edma minor loop interleave finished
1 2 0 4 5 0 7 8 0 10 11 0 13 14 0 0