The BSD client example implements BSD compliant communication. It shows you how to control the LEDs on the evaluation board of the server via the BSD socket.
BSD sockets are often used for network communication as they provide a well-defined API for exchanging data over the network by utilizing TCP and UDP sockets.
An exemplary setup could look like this:
The BSD Client project is available as part of the Network Reference examples.
Following files implement application-specific logic in the example:
BSD_Client.c
contains the application main thread which initializes the Network Component for the BSD client and provides the IP address of the BSD server. The client establishes a connection to a BSD server with the specified IP address.Configuration files for the software components used in the project are located in the ./RTE/
directory and can be modified by users to adjust the operation of related components.
Following configuration files are provided with this example:
./RTE/Network/
folder:Net_Config_BSD.h
: BSD Socket configuration.Net_Config_TCP.h
: TCP Socket configuration.Net_Config_UDP.h
: UDP Socket configuration.Net_Config_ETH_0.h
: Ethernet Interface configuration.Net_Config.h
: Network Core configuration.Net_Debug.h
: Network Debug configuration../RTE/CMSIS/
folder:RTX_Config.h
and RTX_Config.c
: CMSIS-RTX Configuration files for the RTOS Kernel.When a board layer is added to the project, corresponding configuration files for the board and device components will become available in the local ./Board/
directory.
In order to build the project it shall be extended with a compatible board layer that provides following interfaces as connections:
CMSIS_ETH
: CMSIS-Driver for Ethernet interfaceCMSIS_VIO
: CMSIS-Driver for Virtual I/O interfaceSTDOUT
: Standard Output redirectionWorking with MDK-Middleware Examples explains the workflow for accessing, configuring and building an MDK-Middleware example project for your target hardware.
Setup
Board-specific hardware setup such as jumpers, Ethernet ports, power supply, etc. is documented in the board layer description (README.md
) of your selected target.
Example execution
To test this example, you also need a BSD Server device that you can connect to.
Load a BSD server and start it on another evaluation board connected to the same LAN. When BSD client is running, the LED diodes on both evaluation boards should light up synchronously.