cmsis_enet_txrx_transfer#
Overview#
CMSIS-Driver defines generic peripheral driver interfaces for middleware making it reusable across a wide range of supported microcontroller devices. The API connects microcontroller peripherals with middleware that implements for example communication stacks, file systems, or graphic user interfaces. More information and usage method please refer to http://www.keil.com/pack/doc/cmsis/Driver/html/index.html.
The cmsis_enet_transfer example shows how to use CMSIS ENET driver:
In this example, the ENET transmits 20 number broadcast frames and will print the received frame.
Supported Boards#
EVKB-IMXRT1050
Hardware requirements
Mini/micro USB cable
Loopback network cable RJ45 standard
EVKB-MIMXRT1050 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
Insert loopback network cable to Ethernet RJ45 port.
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.
Make loopback network cable: 568B standard Unknowed standard J1 orange+white green+white J2 orange green J3 green+white orange+white J4 blue brown+white J5 blue+white brown J6 green orange J7 brown+white blue J8 brown blue+white
Connect J1 => J3, J2 => J6, J4 => J7, J5 => J8. 10/100M transfer only requires J1, J2, J3, J6, and 1G transfer requires all 8 pins. Check your net cable color order and refer to 568B standard or the other standard. If your cable’s color order is not showed in the list, please connect J1~J8 based on your situation.
Running the demo
When the demo runs, the log would be seen on the terminal like:
ENET example start. The 1 frame transmitted success! A total of 1 frame(s) has been successfully received! The 2 frame transmitted success! A total of 2 frame(s) has been successfully received! The 3 frame transmitted success! A total of 3 frame(s) has been successfully received!
……
The 20 frame transmitted success! A total of 20 frame(s) has been successfully received!
MIMXRT1060-EVKB
Hardware requirements
Mini/micro USB cable
Loopback network cable RJ45 standard
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
Insert loopback network cable to Ethernet RJ45 port.
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.
Make loopback network cable: 568B standard Unknowed standard J1 orange+white green+white J2 orange green J3 green+white orange+white J4 blue brown+white J5 blue+white brown J6 green orange J7 brown+white blue J8 brown blue+white
Connect J1 => J3, J2 => J6, J4 => J7, J5 => J8. 10/100M transfer only requires J1, J2, J3, J6, and 1G transfer requires all 8 pins. Check your net cable color order and refer to 568B standard or the other standard. If your cable’s color order is not showed in the list, please connect J1~J8 based on your situation.
Running the demo
When the demo runs, the log would be seen on the terminal like:
ENET example start. The 1 frame transmitted success! A total of 1 frame(s) has been successfully received! The 2 frame transmitted success! A total of 2 frame(s) has been successfully received! The 3 frame transmitted success! A total of 3 frame(s) has been successfully received!
……
The 20 frame transmitted success! A total of 20 frame(s) has been successfully received!
MIMXRT1170-EVKB
Hardware requirements
Mini/micro USB cable
MIMXRT1170-EVKB board
Loopback network cable RJ45 standard
Network cable RJ45 standard
Network switch
Personal Computer
Board settings
If Rx frame CRC error occurs, try to populate a suitable C66. The REV C/C1 boards populate 22pF which is high and may result in CRC errors on some of boards, if this is the case C66 may be removed or replaced by a smaller capacitor.
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
Insert loopback network cable into network switch device(support loopback frames) and connect switch to board’s Ethernet RJ45 port(J4).
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.
Note: If not use switch, only insert loopback network cable into Ethernet RJ45 port, auto-negotiation result is 100M. Here we use switch to test 1G.
Make loopback cable: Standard 1 Standard 2 J1 orange+white green+white J2 orange green J3 green+white orange+white J4 blue brown+white J5 blue+white brown J6 green orange J7 brown+white blue J8 brown blue+white
Connect J1 => J3, J2 => J6, J4 => J7, J5 => J8. 10/100M transfer only requires J1, J2, J3, J6, and 1G transfer requires all 8 pins. Check your net cable color order and refer to the sheet above. If your cable’s color order is not showed in the list, please connect J1~J8 based on your situation.
Running the demo
When the demo runs, the log would be seen on the terminal like:
ENET example start. The 1 frame transmitted success! A total of 1 frame(s) has been successfully received! The 2 frame transmitted success! A total of 2 frame(s) has been successfully received! The 3 frame transmitted success! A total of 3 frame(s) has been successfully received!
……
The 20 frame transmitted success! A total of 20 frame(s) has been successfully received!
MIMXRT1060-EVKC
Hardware requirements
Mini/micro USB cable
Loopback network cable RJ45 standard
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
Insert loopback network cable to Ethernet RJ45 port.
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.
Make loopback network cable: 568B standard Unknowed standard J1 orange+white green+white J2 orange green J3 green+white orange+white J4 blue brown+white J5 blue+white brown J6 green orange J7 brown+white blue J8 brown blue+white
Connect J1 => J3, J2 => J6, J4 => J7, J5 => J8. 10/100M transfer only requires J1, J2, J3, J6, and 1G transfer requires all 8 pins. Check your net cable color order and refer to 568B standard or the other standard. If your cable’s color order is not showed in the list, please connect J1~J8 based on your situation.
Running the demo
When the demo runs, the log would be seen on the terminal like:
ENET example start. The 1 frame transmitted success! A total of 1 frame(s) has been successfully received! The 2 frame transmitted success! A total of 2 frame(s) has been successfully received! The 3 frame transmitted success! A total of 3 frame(s) has been successfully received!
……
The 20 frame transmitted success! A total of 20 frame(s) has been successfully received!
EVK-MIMX8MM
Hardware requirements
Micro USB cable
MIMX8MM6-EVK board
J-Link Debug Probe
12V power supply
Loopback network cable RJ45 standard
Network cable RJ45 standard
Network switch
Personal Computer
Board settings
J501 connected with network switch through RJ45 network cable. Two types of base boards(ENET PHY is RTL8211F or AR8031) are supported and the default is for RTL8211F. For base boards with ENET PHY AR8031(older version than RevD) need define macro “EXAMPLE_ENET_PHY_PHYAR8031” to 1 in example source code.
Please note this application can’t support running with Linux BSP! This example aims to show the basic usage of the IP’s function, some of the used Pads/Resources are also used by Cortex-A core.
Prepare the Demo
Connect 12V power supply and J-Link Debug Probe to the board, switch SW101 to power on the board
Connect a USB cable between the host PC and the J901 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
Insert loopback network cable into network switch device(support loopback frames) and connect switch to the board’s Ethernet RJ45 port.
Download the program to the target board.
Launch the debugger in your IDE to begin running the demo.
Make loopback network cable: Standard 1 Standard 2 J1 orange+white green+white J2 orange green J3 green+white orange+white J4 blue brown+white J5 blue+white brown J6 green orange J7 brown+white blue J8 brown blue+white
Connect J1 => J3, J2 => J6, J4 => J7, J5 => J8. 10/100M transfer only requires J1, J2, J3, J6, and 1G transfer requires all 8 pins. Check your net cable color order and refer to the sheet above. If your cable’s color order is not showed in the list, please connect J1~J8 based on your situation.
Running the demo
When the demo runs, the log would be seen on the terminal like:
ENET example start. The 1 frame transmitted success! The 1 frame has been successfully received! The 2 frame transmitted success! The 2 frame has been successfully received! The 3 frame transmitted success! The 3 frame has been successfully received!
……
The 18 frame transmitted success! The 18 frame has been successfully received! The 19 frame transmitted success! The 19 frame has been successfully received! The 20 frame transmitted success! The 20 frame has been successfully received!
EVK-MIMX8MP
Hardware requirements
Micro USB cable
EVK-MIMX8M Plus board
J-Link Debug Probe
12V power supply
Loopback network cable RJ45 standard
Personal Computer
Board settings
No special settings are required. J9 connected with network switch through RJ45 network cable.
Please note this application can’t support running with Linux BSP! This example aims to show the basic usage of the IP’s function, some of the used Pads/Resources are also used by Cortex-A core. If using the U-Boot bootaux to boot the Mcore, the U-Boot from Linux release 5.15.52_2.1.0 or later should be used.
Prepare the Demo
Connect 12V power supply and J-Link Debug Probe to the board, switch SW3 to power on the board
Connect a USB cable between the host PC and the J23 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
Insert loopback network cable into network switch device(support loopback frames) and connect switch to board’s Ethernet RJ45 port.
Download the program to the target board.
Launch the debugger in your IDE to begin running the demo.
Make loopback network cable: Standard 1 Standard 2 J1 orange+white green+white J2 orange green J3 green+white orange+white J4 blue brown+white J5 blue+white brown J6 green orange J7 brown+white blue J8 brown blue+white
Connect J1 => J3, J2 => J6, J4 => J7, J5 => J8. 10/100M transfer only requires J1, J2, J3, J6, and 1G transfer requires all 8 pins. Check your net cable color order and refer to the sheet above. If your cable’s color order is not showed in the list, please connect J1~J8 based on your situation.
Running the demo
When the demo runs, the log would be seen on the terminal like:
ENET example start. The 1 frame transmitted success! The 1 frame has been successfully received! The 2 frame transmitted success! The 2 frame has been successfully received! The 3 frame transmitted success! The 3 frame has been successfully received!
……
The 18 frame transmitted success! The 18 frame has been successfully received! The 19 frame transmitted success! The 19 frame has been successfully received! The 20 frame transmitted success! The 20 frame has been successfully received!
EVK-MIMXRT1020
Hardware requirements
Mini/micro USB cable
Loopback network cable RJ45 standard
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
Insert loopback network cable to Ethernet RJ45 port.
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.
Make loopback network cable: 568B standard Unknowed standard J1 orange+white green+white J2 orange green J3 green+white orange+white J4 blue brown+white J5 blue+white brown J6 green orange J7 brown+white blue J8 brown blue+white
Connect J1 => J3, J2 => J6, J4 => J7, J5 => J8. 10/100M transfer only requires J1, J2, J3, J6, and 1G transfer requires all 8 pins. Check your net cable color order and refer to 568B standard or the other standard. If your cable’s color order is not showed in the list, please connect J1~J8 based on your situation.
Running the demo
When the demo runs, the log would be seen on the terminal like:
ENET example start. The 1 frame transmitted success! A total of 1 frame(s) has been successfully received! The 2 frame transmitted success! A total of 2 frame(s) has been successfully received! The 3 frame transmitted success! A total of 3 frame(s) has been successfully received!
……
The 20 frame transmitted success! A total of 20 frame(s) has been successfully received!
MIMXRT1024-EVK
Hardware requirements
Mini/micro USB cable
Loopback network cable RJ45 standard
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
Insert loopback network cable to Ethernet RJ45 port.
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.
Make loopback network cable: 568B standard Unknowed standard J1 orange+white green+white J2 orange green J3 green+white orange+white J4 blue brown+white J5 blue+white brown J6 green orange J7 brown+white blue J8 brown blue+white
Connect J1 => J3, J2 => J6, J4 => J7, J5 => J8. 10/100M transfer only requires J1, J2, J3, J6, and 1G transfer requires all 8 pins. Check your net cable color order and refer to 568B standard or the other standard. If your cable’s color order is not showed in the list, please connect J1~J8 based on your situation.
Running the demo
When the demo runs, the log would be seen on the terminal like:
ENET example start. The 1 frame transmitted success! A total of 1 frame(s) has been successfully received! The 2 frame transmitted success! A total of 2 frame(s) has been successfully received! The 3 frame transmitted success! A total of 3 frame(s) has been successfully received!
……
The 20 frame transmitted success! A total of 20 frame(s) has been successfully received!
MIMXRT1040-EVK
Hardware requirements
Mini/micro USB cable
Loopback network cable RJ45 standard
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
Insert loopback network cable to Ethernet RJ45 port.
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.
Make loopback network cable: 568B standard Unknowed standard J1 orange+white green+white J2 orange green J3 green+white orange+white J4 blue brown+white J5 blue+white brown J6 green orange J7 brown+white blue J8 brown blue+white
Connect J1 => J3, J2 => J6, J4 => J7, J5 => J8. 10/100M transfer only requires J1, J2, J3, J6, and 1G transfer requires all 8 pins. Check your net cable color order and refer to 568B standard or the other standard. If your cable’s color order is not showed in the list, please connect J1~J8 based on your situation.
Running the demo
When the demo runs, the log would be seen on the terminal like:
ENET example start. The 1 frame transmitted success! A total of 1 frame(s) has been successfully received! The 2 frame transmitted success! A total of 2 frame(s) has been successfully received! The 3 frame transmitted success! A total of 3 frame(s) has been successfully received!
……
The 20 frame transmitted success! A total of 20 frame(s) has been successfully received!
EVK-MIMXRT1064
Hardware requirements
Mini/micro USB cable
Loopback network cable RJ45 standard
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
Insert loopback network cable to Ethernet RJ45 port.
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.
Make loopback network cable: 568B standard Unknowed standard J1 orange+white green+white J2 orange green J3 green+white orange+white J4 blue brown+white J5 blue+white brown J6 green orange J7 brown+white blue J8 brown blue+white
Connect J1 => J3, J2 => J6, J4 => J7, J5 => J8. 10/100M transfer only requires J1, J2, J3, J6, and 1G transfer requires all 8 pins. Check your net cable color order and refer to 568B standard or the other standard. If your cable’s color order is not showed in the list, please connect J1~J8 based on your situation.
Running the demo
When the demo runs, the log would be seen on the terminal like:
ENET example start. The 1 frame transmitted success! A total of 1 frame(s) has been successfully received! The 2 frame transmitted success! A total of 2 frame(s) has been successfully received! The 3 frame transmitted success! A total of 3 frame(s) has been successfully received!
……
The 20 frame transmitted success! A total of 20 frame(s) has been successfully received!
MIMXRT1160-EVK
Hardware requirements
Mini/micro USB cable
MIMXRT1160-EVK board
Loopback network cable RJ45 standard
Network cable RJ45 standard
Network switch
Personal Computer
Board settings
If Rx frame CRC error occurs, try to populate a suitable C66. The REV A1 boards populate 22pF which is high and may result in CRC errors on some of boards, if this is the case C66 may be removed or replaced by a smaller capacitor.
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
Insert loopback network cable into network switch device(support loopback frames) and connect switch to board’s Ethernet RJ45 port(J4).
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.
Note: If not use switch, only insert loopback network cable into Ethernet RJ45 port, auto-negotiation result is 100M. Here we use switch to test 1G.
Make loopback cable: Standard 1 Standard 2 J1 orange+white green+white J2 orange green J3 green+white orange+white J4 blue brown+white J5 blue+white brown J6 green orange J7 brown+white blue J8 brown blue+white
Connect J1 => J3, J2 => J6, J4 => J7, J5 => J8. 10/100M transfer only requires J1, J2, J3, J6, and 1G transfer requires all 8 pins. Check your net cable color order and refer to the sheet above. If your cable’s color order is not showed in the list, please connect J1~J8 based on your situation.
Running the demo
When the demo runs, the log would be seen on the terminal like:
ENET example start. The 1 frame transmitted success! A total of 1 frame(s) has been successfully received! The 2 frame transmitted success! A total of 2 frame(s) has been successfully received! The 3 frame transmitted success! A total of 3 frame(s) has been successfully received!
……
The 20 frame transmitted success! A total of 20 frame(s) has been successfully received!
FRDM-MCXE247
Hardware requirements
USB-C cable
Loopback network cable RJ45 standard
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
Insert loopback network cable to Ethernet RJ45 port.
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.
Make loopback network cable:
568B standard Unknown standard
J1 orange+white green+white
J2 orange green
J3 green+white orange+white
J4 blue brown+white
J5 blue+white brown
J6 green orange
J7 brown+white blue
J8 brown blue+white
Connect J1 => J3, J2 => J6, J4 => J7, J5 => J8. 10/100M transfer only requires J1, J2, J3, J6, and 1G transfer requires all 8 pins. Check your net cable color order and refer to 568B standard or the other standard. If your cable’s color order is not shown in the list, please connect J1~J8 based on your situation.
Running the demo
When the demo runs, the log would be seen on the terminal like:
ENET example start.
Wait for PHY init...
Wait for PHY link up...
The 1 frame transmitted success!
A total of 1 frame(s) has been successfully received!
The 2 frame transmitted success!
A total of 2 frame(s) has been successfully received!
The 3 frame transmitted success!
A total of 3 frame(s) has been successfully received!
......
The 20 frame transmitted success!
A total of 20 frame(s) has been successfully received!
FRDM-MCXA577
Hardware requirements
FRDM-MCXA577 board
USB cable
10BASE-T1S network or loopback-capable lab setup
Serial terminal on the debug UART
Board settings
This example uses the internal 10BASE-T1S digital PHY (TENBASET_PHY0) connected to ENET0. PLCA is enabled with node ID 1.
Prepare the Demo
Connect a USB cable between the host PC and the board debug USB connector.
Open a serial terminal at 115200-8-N-1.
Connect the board to a compatible 10BASE-T1S network.
Build and flash the example.
Reset the board.
Running the demo
When the demo runs, it initializes the CMSIS ENET MAC and PHY drivers, waits for link up, and then transmits broadcast frames while reporting successful transmit and receive events.