LPCOpen UDP and TCP command interpreter/server example with FreeRTOS, FreeRTOS+TCP and FreeRTOS+CLI for the Embedded Artists LPC4088 developer's kit.
It uses FreeRTOS V8.2.0, FreeRTOS+CLI V1.0.4 and FreeRTOS+TCP Labs Build 150114 the last with with some modifications made by me, Andy McClelland, and marked AWM. These files are included in the zip, along with the demo.
The LPCOpen library projects are lpc_board_ea_devkit_4088 and lpc_chip_40xx, both at version V2.10, which can be found here:
The development environment was LPCXpresso V7.6.2b326, obtainable here:
The functionality is a command server accessed on UDP port 5001 or TCP port 5050, very similar to that described at
If in doubt, type help once connected.
You will need an Ethernet network connection and a virtual COM connection to the debug UART0 with the usual 115200 baud, 8 data, 1 stop, no parity settings. You will need this in order to discover the DHCP obtained network address.
If using a debugger, disconnect the Ethernet cable before uploading a new image, and make sure that it is free-running before re-connecting otherwise it might fail to bring up the link.
The FreeRTOS-Plus_TCP/portable/NetworkInterface/LPC4088/NetworkInterface.c still needs more work for robustness under different dis/re-connection/power-up/down situations.
The best place for documentation, as ever, is the FreeRTOS website http://freertos.org
File structure (not complete, just the highlights):
| +--<.settings> Eclipse/LPCXpresso stuff
+--<inc> Application includes
| + CommandServer.h
| + FreeRTOSConfig.h
| + FreeRTOSIPConfig.h
| + TCPCommandServer.h
| + UDPCommandServer.h
| +--<FreeRTOS> FreeRTOS OS files inc port related
| +--<FreeRTOS-Plus> FreeRTOS+ 'ecosystem' files
| | +--<FreeRTOS-Plus-CLI> Command Line Input
| | +--<FreeRTOS-Plus-TCP_150114_AWM> Networking with modifications
| | +--<portable>
| | +--<NetworkInterface>
| | +--<LPC40xx>
| | + NetworkInterface.c The Ethernet driver for the port
| + CLI-Commands.c The implemented commands
| + NetworkTest_main.c Top-level application file
| + TCPCommandServer.c
| + UDPCommandServer.c
+ Readme.txt This file