MCUXpresso_MIMXRT1021xxxxx/boards/evkmimxrt1020/wifi_examples/wifi_serial_iperf3
Yilin Sun 763d32be90
Updated SDK to v2.15.000
Signed-off-by: Yilin Sun <imi415@imi.moe>
2024-03-15 22:23:36 +08:00
..
armgcc Updated SDK to v2.15.000 2024-03-15 22:23:36 +08:00
FreeRTOSConfig.h Initial SDK v2.12.0 2022-08-23 23:00:33 +08:00
board.c Updated SDK to v2.15.000 2024-03-15 22:23:36 +08:00
board.h Updated SDK to v2.15.000 2024-03-15 22:23:36 +08:00
clock_config.c Updated to SDK v2.14.0 2023-08-31 23:30:31 +08:00
clock_config.h Updated to SDK v2.14.0 2023-08-31 23:30:31 +08:00
dcd.c Initial SDK v2.12.0 2022-08-23 23:00:33 +08:00
dcd.h Initial SDK v2.12.0 2022-08-23 23:00:33 +08:00
evkmimxrt1020_sdram_init.jlinkscript Initial SDK v2.12.0 2022-08-23 23:00:33 +08:00
iperf_api.h Updated SDK to v2.15.000 2024-03-15 22:23:36 +08:00
iperf_mwm.c Initial SDK v2.12.0 2022-08-23 23:00:33 +08:00
main.c Updated to SDK v2.14.0 2023-08-31 23:30:31 +08:00
pin_mux.c Initial SDK v2.12.0 2022-08-23 23:00:33 +08:00
pin_mux.h Initial SDK v2.12.0 2022-08-23 23:00:33 +08:00
readme.md Updated SDK to v2.15.000 2024-03-15 22:23:36 +08:00
wifi_serial_iperf3_v3_14.xml Updated SDK to v2.15.000 2024-03-15 22:23:36 +08:00

readme.md

Overview

The iperf3 example provides basic commands to measure performance of network stack. Results will be shown on your iperf server. In the case of 'R' mode, server shows the amount of sent data, check the terminal output in this case for the total amount of payload in bytes received over UDP, which marks the device's throughput.

Known Issues If the iperf3 server shows you that you have 0-bit/s bandwidth, it may be caused due to the version you are using. This client works with Iperf v3.7. In case of any more issues, see https://github.com/esnet/iperf/labels/bug.

Rx UDP mode ('R') has limited bandwidth by UDP_RX_BANDWIDTH macro as sending UDP packets too fast may cause the control TCP socket to lost data and test failure. Set the macro to a little bit higher than the device can receive or "0" for no limit.

The network throughput is limited by UART interface between board and Wi-Fi module. Default UART speed is set to 115200 Bd.

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
  • EVK-MIMXRT1020 board
  • Personal Computer
  • Murata CMWC1ZZABR-107-EVB
  • LPCXpresso Click Shield

Board settings

Connect the LPCXpresso Click Shield to the board and then connect the Murata Wi-Fi module to mikroBUS slot 2.

Note: To debug in qspiflash, following steps are needed:

  1. Select the flash target and compile.
  2. Set the SW8: 1 off 2 off 3 on 4 off, then power on the board and connect USB cable to J23.
  3. 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.

Prepare the Demo

  1. Prepare iperf3 server on your machine:
    • Install iperf3 (Enter command "sudo apt install iperf3")
    • Start the server by running "iperf3 -s"
  2. Connect a micro USB cable between the PC host and the SDA port
  3. Open a serial terminal with the following settings (See Appendix A in Getting started guide for description how to determine serial port number):
    • 115200 baud rate
    • 8 data bits
    • No parity
    • One stop bit
    • No flow control
  4. Download the program to the target board.
  5. Reset the SoC and run the project.
  6. During the runtime will be necessary to configure Wi-Fi module. Follow instructions in the terminal for Wi-Fi module configuration or resetting to provisioning mode. If the module is in provisioning mode, it will create micro-AP: SSID: Serial2Wifi Passphrase: nxp12345 Connect your PC or mobile phone to this Wi-Fi micro-AP, open address: http://192.168.10.1 in web browser, select "Provisioning" and then select WLAN for connection. Wi-Fi module stores the WLAN credentials and it will use them automatically for next connection.

Running the demo

When the demo runs successfully, the log would be seen on the CMSIS DAP terminal like:

Enter IP address of a server in format '192.168.1.2'

Enter IP address of the iperf3 server.

Using IP xxx.xxx.xxx.xxx
Menu:
Press 's' to start client Tx mode
Press 'r' to start client Rx mode
Press 'S' to start client Tx UDP mode
Press 'R' to start client Rx UDP mode
  • Press 's' to start Iperf3 client in sending mode. (TCP)
  • Press 'r' to start Iperf3 client in receiving mode. (TCP)
  • Press 'S' to start Iperf3 client in sending mode. (UDP)
  • Press 'R' to start Iperf3 client in receiving mode. (UDP)