lwip_dhcp_freertos#
Overview#
The lwip_dhcp demo application demonstrates a DHCP demo on the lwIP TCP/IP stack. The application acts as a DHCP client and prints the status as it is progressing. Once the interface is being bound to an IP address obtained from DHCP server, address information is printed. It does so continuously - it prints the client’s state even as the link state changes. Those link state changes are also printed.
Prepare the Demo#
Connect a USB cable between the PC host and the OpenSDA(or USB to Serial) USB port on the target board.
Open a serial terminal on PC for OpenSDA serial(or USB to Serial) device with these settings:
115200 baud rate
8 data bits
No parity
One stop bit
No flow control
Insert the Ethernet Cable into the target board’s RJ45 port and connect it to a router (or other DHCP server capable device).
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 demo runs, the log would be seen on the terminal like:
Initializing PHY...
[LINK STATE] netif=0, state=up, speed=1000M_full
************************************************
DHCP example
************************************************
DHCP state : SELECTING
DHCP state : REQUESTING
DHCP state : CHECKING
DHCP state : BOUND
IPv4 Address : 192.168.0.4
IPv4 Subnet mask : 255.255.255.0
IPv4 Gateway : 192.168.0.1
Supported Boards#
MIMXRT1060-EVKB
Hardware requirements
Mini/micro USB cable
MIMXRT1060-EVKB board
Personal Computer
Board settings
No special settings are required.
IMX952LPD5EVK-19
Hardware requirements
Micro USB cable
IMX952-EVK board
J-Link Debug Probe
12V~20V power supply
Personal Computer
Board settings
This example uses NETC ENETC0 1G port in default. To choose other port, configure in lwip_netc_port.h.
MIMXRT1170-EVKB
Hardware requirements
Mini/micro USB cable
Network cable RJ45 standard
MIMXRT1170-EVKB board
Personal Computer
Board settings
This example uses 1G port(J4) as default. If want to test 100M port(J3), please set the macro BOARD_NETWORK_USE_100M_ENET_PORT to 1.
MIMXRT1060-EVKC
Hardware requirements
Mini/micro USB cable
MIMXRT1060-EVKC board
Personal Computer
Board settings
No special settings are required.
FRDM-IMXRT1152
Hardware requirements
FRDM-IMXRT1152 board
USB Type-C cable
RJ45 network cable
Personal Computer
Board settings
Connect the USB Type-C cable to the FRDM-IMXRT1152 USB debug connector.
Use the Gigabit Ethernet RJ45 port (J130).
Set J134 to position 1-2 for the shared
ENET_MDIO/ETH0_RDATA3routing.
MIMXRT1040-EVK
Hardware requirements
Mini/micro USB cable
MIMXRT1040-EVK board
Personal Computer
Board settings
No special settings are required.
EVK-MIMXRT1064
Hardware requirements
Mini/micro USB cable
EVK-MIMXRT1064 board
Personal Computer
Board settings
No special settings are required.
MIMXRT1160-EVK
Hardware requirements
Mini/micro USB cable
Network cable RJ45 standard
MIMXRT1160-EVK board
Personal Computer
Board settings
This example uses 1G port(J4) as default. If want to test 100M port(J3), please set the macro BOARD_NETWORK_USE_100M_ENET_PORT to 1.
MIMXRT1180-EVK
Hardware requirements
Mini/micro USB cable
Network cable RJ45 standard
MIMXRT1180-EVK board
Personal Computer
Board settings
This example uses Ethernet RJ45 port J32.
FRDM-MCXA577
Hardware requirements
Type-C USB cable
RJ45 Network cable (for 100BASE-TX mode)
10BASE-T1S network adapter and cable (optional for 10BASE-T1S mode)
FRDM-MCXA577 board
Personal Computer
Board settings
Short position 2-3 on J29.
Use with 10BASE-T1S Ethernet
The example uses 100BASE-TX Ethernet over RJ45 by default. If you want to use the internal 10BASE-T1S digital PHY, redefine BOARD_NETWORK_USE_TENBASET_PHY from board.h to 1 and rebuild. Connect to a PC with a 10BASE-T1S network adapter instead of RJ45 and enable PLCA on a PC with the following parameters: - node ID: 0 (PLCA coordinator) - node count: 8 - TO timer: 32 BT - burst count: 0 - burst timer: 128 BT
FRDM-MCXE247
Hardware requirements
USB-C cable
Network cable RJ45 standard
FRDM-MCXE247 board
Personal Computer
Board settings
No special settings are required.
FRDM-MCXN947
Hardware requirements
Type-C USB cable
RJ45 Network cable
FRDM-MCXN947 board
Personal Computer
Board settings
Connect JP13 2-3 pin. Populate R274 to sync reference clock.
FRDM-MCXN947T
Hardware requirements
Type-C USB cable
RJ45 Network cable
FRDM-MCXN947T board
Personal Computer
Board settings
Connect JP13 2-3 pin. Populate R274 to sync reference clock.
FRDM-RW612
Hardware requirements
USB-C cable
Network cable RJ45 standard
FRDM-RW612 board
Personal Computer
Board settings
Make sure SJ21 and SJ22 have positions 1 and 2 soldered (default).
IMX95LPD5EVK-19
Hardware requirements
Micro USB cable
IMX95LPD5-EVK board
J-Link Debug Probe
12V~20V power supply
Personal Computer
Board settings
This example uses NETC ENETC0 1G port in default. To choose other port, configure in lwip_netc_port.h.
FRDM-IMX95
Hardware requirements
Micro USB cable
FRDM-IMX95 board
J-Link Debug Probe
12V~20V power supply
Personal Computer
Board settings
This example uses NETC ENETC0 1G port in default. To choose other port, configure in lwip_netc_port.h.
FRDM-IMX952
Hardware requirements
Micro USB cable
IMX952-EVK board
J-Link Debug Probe
12V~20V power supply
Personal Computer
Board settings
This example uses NETC ENETC0 1G port in default. To choose other port, configure in lwip_netc_port.h.
FRDM-IMX937
Hardware requirements
Micro USB cable
FRDM-IMX937 board
J-Link Debug Probe
12V~20V power supply
Personal Computer
Board settings
This example uses NETC ENETC0 1G port in default. To choose other port, configure in lwip_netc_port.h.
LPCXpresso54628
Hardware requirements
Mini/micro USB cable
RJ45 Network cable
LPCXpresso54628 board
Router or other device with DHCP server capability
Personal Computer
Board settings
For LPCXpresso54628 V2.0:JP11 and JP12 1-2 on.
LPCXpresso54S018
Hardware requirements
Mini/micro USB cable
RJ45 Network cable
LPCXpresso54S018 board
Router or other device with DHCP server capability
Personal Computer
Board settings
LPCXpresso54S018M
Hardware requirements
Mini/micro USB cable
RJ45 Network cable
LPCXpresso54S018M board
Router or other device with DHCP server capability
Personal Computer
Board settings
For LPCXpresso54S018M V2.0:JP11, JP12, JP14 and JP15 1-2 on.
MCIMX93AUTO-EVK
Hardware requirements
USB Type-C cable
Network cable RJ45 standard
MCIMX93AUTO-EVK board
Personal Computer
Board settings
This example uses 1G port(J601) as default.
Note
Please run the application in Low Power boot mode (without Linux BSP). The IP module resource of the application is also used by Linux BSP. Or, run with Single Boot mode by changing Linux BSP to avoid resource conflict.
MCIMX93-EVK
Hardware requirements
USB Type-C cable
Network cable RJ45 standard
MCIMX93-EVK board
Personal Computer
Board settings
This example uses 1G port(J601) as default.
Note
Please run the application in Low Power boot mode (without Linux BSP). The IP module resource of the application is also used by Linux BSP. Or, run with Single Boot mode by changing Linux BSP to avoid resource conflict.
MCIMX93W-EVK
Hardware requirements
USB Type-C cable
Network cable RJ45 standard
MCIMX93W-EVK board
Personal Computer
Board settings
This example uses 1G port(J601) as default.
Note
Please run the application in Low Power boot mode (without Linux BSP). The IP module resource of the application is also used by Linux BSP. Or, run with Single Boot mode by changing Linux BSP to avoid resource conflict.
MCX-N5XX-EVK
Hardware requirements
Mini/micro USB cable
RJ45 Network cable
MCX-N5XX-EVK board
Personal Computer
Board settings
Connect JP13 2-3 pin. Populate R274 to sync reference clock.
MCX-N9XX-EVK
Hardware requirements
Mini/micro USB cable
RJ45 Network cable
MCX-N9XX-EVK board
Personal Computer
Board settings
Connect JP13 2-3 pin. Populate R274 to sync reference clock.
RD-RW612-BGA
Hardware requirements
Micro USB cable
RD-RW612-BGA board
Personal Computer
Board settings
Connect JP54. Load R520, R508, R505 Remove R518, R507, R506
IMX943-ORANGEBOX
Hardware requirements
Micro USB cable
IMX943-ORANGEBOX board
12V~20V power supply
Personal Computer
Board settings
This example uses NETC ENETC0 1G port in default. To choose other port, configure in lwip_netc_port.h.
FRDM-IMXRT1186
Hardware requirements
Type-C USB cable
Network cable RJ45 standard
FRDM-IMXRT1186 board
Personal Computer
Board settings
Short jumpers J12 (1-2) and J13 (2-3) and connect network cable to J56A.
IMX943-EVK
Hardware requirements
Micro USB cable
IMX943-EVK board
J-Link Debug Probe
12V~20V power supply
Personal Computer
Board settings
This example uses NETC ENETC0 (ETH2/J25) 1G port in default. To choose other port, configure in lwip_netc_port.h.