edma_channel_link#
Overview#
The EDMA channel link example is a simple demonstration program that uses the SDK software. It excuates channel link transfer using the SDK EDMA drivers. The purpose of this example is to show how to use the EDMA and to provide a simple example for debugging and further development, it demostrates how to use the minor loop link and major loop link: Since each transfer request can be divided into MAJOR_LOOPS_COUNTS * MINOR_LOOPS_BYTES, such as you want to request DMA transfer 8 bytes total, 4 bytes each request, then MAJOR_LOOPS_COUNTS = 2, MINOR_LOOPS_BYTES = 4. The minor loop channel linking occurs at the completion of the minor loop 4 byte transferred. The major loop channel linking is occurs at the major loop exhausted. The example demostrate the channel link transfer by the feature of edma:
minor loop channel link +—————————–+ +———————-+ | channel 1 transfer complete | ———————–> | example complete | +—————————–+ +———————-+ ^ | major loop finished | +—————————–+ +——————————-+ trigger channel 1 +—————————–+ major loop not finish +———————-+ +——————————-+ | channel 0 minor loop | –> | channel 0 minor loop finished | ——————-> | channel 1 major loop | ———————–> | channel 1 minor loop | –> | channel 1 minor loop finished | +—————————–+ +——————————-+ +—————————–+ +———————-+ +——————————-+ ^ | | major loop not finish | | | +—————–+ +—————————–+ trigger channel 0 | | channel 0 start | –> | channel 0 major loop | <————————————————————————————————————————————————–+ +—————–+ +—————————–+ | | major loop finished v +—————————–+ | channel 0 transfer complete | +—————————–+
major loop channel link
channel 1 minor loop finished
+———————————————————+ | v +———————-+ major loop not finish +——————————-+ major loop finished +—————————–+ +——————————-+ | channel 1 minor loop | <——————————- | channel 1 major loop | ———————–> | channel 1 transfer complete | –> | example complete | +———————-+ +——————————-+ +—————————–+ +——————————-+ ^ | trigger channel 1 | +——————————-+ +—————————–+ | channel 0 major loop finished | ———————–> | channel 0 transfer complete | +——————————-+ +—————————–+ ^ | | +———————-+ +——————————-+ major loop not finish +—————————–+ +——————————-+ | channel 0 start | ——————————-> | channel 0 major loop | ———————–> | channel 0 minor loop | –> | channel 0 minor loop finished | +———————-+ +——————————-+ +—————————–+ +——————————-+ ^ | +———————————————————————————————-+
Please reference user manual for the detail of the feature.
Supported Boards#
EVKB-IMXRT1050
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 channel link example.
edma minor loop link start
0 0 0 0 0 0 0 0
edma minor loop link finished
1 2 3 4 5 6 7 8
edma major loop link start
0 0 0 0 0 0 0 0
edma major loop link finished
1 2 3 4 5 6 7 8
MIMXRT1060-EVKB
Hardware requirements
Mini/micro USB cable
MIMXRT1060-EVKB 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 channel link example.
edma minor loop link start
0 0 0 0 0 0 0 0
edma minor loop link finished
1 2 3 4 5 6 7 8
edma major loop link start
0 0 0 0 0 0 0 0
edma major loop link finished
1 2 3 4 5 6 7 8
MIMXRT1170-EVKB
Hardware requirements
Mini/micro USB cable
MIMXRT1170-EVKB 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 channel link example.
edma minor loop link start
edma minor loop link start
0 0 0 0 0 0 0 0
edma minor loop link finished
1 2 3 4 5 6 7 8
edma major loop link start
0 0 0 0 0 0 0 0
edma major loop link finished
1 2 3 4 5 6 7 8
MIMXRT1060-EVKC
Hardware requirements
Mini/micro USB cable
MIMXRT1060-EVKC 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 channel link example.
edma minor loop link start
0 0 0 0 0 0 0 0
edma minor loop link finished
1 2 3 4 5 6 7 8
edma major loop link start
0 0 0 0 0 0 0 0
edma major loop link finished
1 2 3 4 5 6 7 8
FRDM-IMXRT1152
Hardware requirements
Type-C USB cable
FRDM-IMXRT1152 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 channel link example.
edma minor loop link start
0 0 0 0 0 0 0 0
edma minor loop link finished
1 2 3 4 5 6 7 8
edma major loop link start
0 0 0 0 0 0 0 0
edma major loop link finished
1 2 3 4 5 6 7 8
EVK-MIMXRT1010
Hardware requirements
Mini/micro USB cable
EVK-MIMXRT1010 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 channel link example.
edma minor loop link start
0 0 0 0 0 0 0 0
edma minor loop link finished
1 2 3 4 5 6 7 8
edma major loop link start
0 0 0 0 0 0 0 0
edma major loop link finished
1 2 3 4 5 6 7 8
Note: To debug in qspiflash, following steps are needed:
Select the flash target and compile.
Set the SW8: 1 off 2 off 3 on 4 off, then power on the board and connect USB cable to J41.
Start debugging in IDE.
Keil: Click “Download (F8)” to program the image to qspiflash first then clicking “Start/Stop Debug Session (Ctrl+F5)” to start debugging.
EVK-MIMXRT1015
Hardware requirements
Mini/micro USB cable
EVK-MIMXRT1015 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 channel link example.
edma minor loop link start
0 0 0 0 0 0 0 0
edma minor loop link finished
1 2 3 4 5 6 7 8
edma major loop link start
0 0 0 0 0 0 0 0
edma major loop link finished
1 2 3 4 5 6 7 8
Note: To debug in qspiflash, following steps are needed:
Select the flash target and compile.
Set the SW8: 1 off 2 off 3 on 4 off, then power on the board and connect USB cable to J41.
Start debugging in IDE.
Keil: Click “Download (F8)” to program the image to qspiflash first then clicking “Start/Stop Debug Session (Ctrl+F5)” to start debugging.
EVK-MIMXRT1020
Hardware requirements
Mini/micro USB cable
EVK-MIMXRT1020 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 minor loop link start
0 0 0 0 0 0 0 0
edma minor loop link finished
1 2 3 4 5 6 7 8
edma major loop link start
0 0 0 0 0 0 0 0
edma major loop link finished
1 2 3 4 5 6 7 8
Note: To debug in qspiflash, following steps are needed:
Select the flash target and compile.
Set the SW8: 1 off 2 off 3 on 4 off, then power on the board and connect USB cable to J23.
Start debugging in IDE.
Keil: Click “Download (F8)” to program the image to qspiflash first then clicking “Start/Stop Debug Session (Ctrl+F5)” to start debugging.
MIMXRT1024-EVK
Hardware requirements
Mini/micro USB cable
MIMXRT1024-EVK 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 channel link example.
edma minor loop link start
0 0 0 0 0 0 0 0
edma minor loop link finished
1 2 3 4 5 6 7 8
edma major loop link start
0 0 0 0 0 0 0 0
edma major loop link finished
1 2 3 4 5 6 7 8
Note: To debug in qspiflash, following steps are needed:
Select the flash target and compile.
Set the SW8: 1 off 2 off 3 on 4 off, then power on the board and connect USB cable to J23.
Start debugging in IDE.
Keil: Click “Download (F8)” to program the image to qspiflash first then clicking “Start/Stop Debug Session (Ctrl+F5)” to start debugging.
MIMXRT1040-EVK
Hardware requirements
Mini/micro USB cable
MIMXRT1040-EVK 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 channel link example.
edma minor loop link start
0 0 0 0 0 0 0 0
edma minor loop link finished
1 2 3 4 5 6 7 8
edma major loop link start
0 0 0 0 0 0 0 0
edma major loop link finished
1 2 3 4 5 6 7 8
EVK-MIMXRT1064
Hardware requirements
Mini/micro USB cable
EVK-MIMXRT1064 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 minor loop link start
0 0 0 0 0 0 0 0
edma minor loop link finished
1 2 3 4 5 6 7 8
edma major loop link start
0 0 0 0 0 0 0 0
edma major loop link finished
1 2 3 4 5 6 7 8
MIMXRT1160-EVK
Hardware requirements
Mini/micro USB cable
MIMXRT1160-EVK 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 channel link example.
edma minor loop link start
edma minor loop link start
0 0 0 0 0 0 0 0
edma minor loop link finished
1 2 3 4 5 6 7 8
edma major loop link start
0 0 0 0 0 0 0 0
edma major loop link finished
1 2 3 4 5 6 7 8
FRDM-K22F
Hardware requirements
Mini/micro USB cable
FRDM-K22F board
Personal Computer
Board settings
The EDMA memory to memory demo does not call for any special hardware configurations.
Prepare the Demo
Connect a mini USB cable between the PC host and the OpenSDA USB on the board.
Open a serial terminal on PC for OpenSDA serial device with these 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 channel link example.
edma minor loop link start
0 0 0 0 0 0 0 0
edma minor loop link finished
1 2 3 4 5 6 7 8
edma major loop link start
0 0 0 0 0 0 0 0
edma major loop link finished
1 2 3 4 5 6 7 8
FRDM-K32L2A4S
Hardware requirements
Mini USB cable
FRDM-K32L2A4S board
Personal Computer
Board settings
No special is needed.
Prepare the Demo
Connect a USB cable between the PC host and the OpenSDA USB on the board.
Open a serial terminal on PC for OpenSDA serial device with these 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 channel link example.
edma minor loop link start
0 0 0 0 0 0 0 0
edma minor loop link finished
1 2 3 4 5 6 7 8
edma major loop link start
0 0 0 0 0 0 0 0
edma major loop link finished
1 2 3 4 5 6 7 8
FRDM-K32L3A6
Hardware requirements
Mini/micro USB cable
FRDM-K32L3A6 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 minor loop link start
0 0 0 0 0 0 0 0
edma minor loop link finished
1 2 3 4 5 6 7 8
edma major loop link start
0 0 0 0 0 0 0 0
edma major loop link finished
1 2 3 4 5 6 7 8
FRDM-KE15Z
Hardware requirements
Micro USB cable
FRDM-KE15Z 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, the following message is displayed in the terminal:
EDMA channel link example.
edma minor loop link start
0 0 0 0 0 0 0 0
edma minor loop link finished
1 2 3 4 5 6 7 8
edma major loop link start
0 0 0 0 0 0 0 0
edma major loop link finished
1 2 3 4 5 6 7 8
FRDM-KE17Z
Hardware requirements
Micro USB cable
FRDM-KE17Z 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, the following message is displayed in the terminal:
EDMA channel link example.
edma minor loop link start
0 0 0 0 0 0 0 0
edma minor loop link finished
1 2 3 4 5 6 7 8
edma major loop link start
0 0 0 0 0 0 0 0
edma major loop link finished
1 2 3 4 5 6 7 8
FRDM-KE17Z512
Hardware requirements
Micro USB cable
FRDM-KE17Z512 board
Personal Computer
Board settings
No special settings are required.
Prepare the Demo
Connect a USB cable between the host PC and the MCU-LINK 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, the following message is displayed in the terminal:
EDMA channel link example.
edma minor loop link start
0 0 0 0 0 0 0 0
edma minor loop link finished
1 2 3 4 5 6 7 8
edma major loop link start
0 0 0 0 0 0 0 0
edma major loop link finished
1 2 3 4 5 6 7 8
FRDM-MCXE247
Hardware requirements
USB-C cable
FRDM-MCXE247 board
Personal Computer
Board settings
No special settings are required.
Prepare the Demo
Connect a USB cable between the host PC and the MCU-LINK 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, the following message is displayed in the terminal:
EDMA channel link example.
edma minor loop link start
0 0 0 0 0 0 0 0
edma minor loop link finished
1 2 3 4 5 6 7 8
edma major loop link start
0 0 0 0 0 0 0 0
edma major loop link finished
1 2 3 4 5 6 7 8