DHCP stands for Dynamic Host Control Protocol.
Static IP addresses
are useful during application development, but they
are impractical for product deployment because:
DHCP provides an alternative to static IP address assignment. DHCP servers
exist on local networks to dynamically allocate IP addresses to nodes
on the same network. When a network enabled product boots up it contacts
the DHCP server to request its IP address, removing the need for each node to be
They need to be hard coded either in the executable binary
or external flash memory.
IP addresses cannot be pre-assigned to products without prior knowledge of
the network environment in which the products will be deployed.
There is no prior knowledge of how many nodes will exist on the
network, or indeed how many of the possible total number of
nodes will be active at any one time.
is set to 1 in FreeRTOSIPConfig.h
then FreeRTOS+TCP will attempt to obtain its IP address from a DHCP server,
and only revert to using a static IP address (AutoIP is also on the roadmap)
if a DHCP server cannot be contacted.
The device running FreeRTOS+TCP can register its hostname with
the DHCP server. See the
ipconfigDHCP_REGISTER_HOSTNAME configuration constant for
Expert users can influence the DHCP process using an
application DHCP hook
(or 'callback') function.