FreeRTOS for NXP M0, M3 and M4 MCUs

Document created by jorge_plascencia Employee on Apr 25, 2016Last modified by jorge_plascencia Employee on Apr 27, 2016
Version 3Show Document
  • View in full screen mode

About FreeRTOS

FreeRTOS™ is a market leading RTOS that is designed specifically for microcontrollers. It is professionally developed, strictly quality controlled, robust, supported, and free to use (no upfront payment, no royalties) in commercial products without any requirement to expose your proprietary source code. FreeRTOS receives in excess of 107,000 downloads a year, is deployed in millions of products, and has a huge user community.

FreeRTOS offers lower project risks and a lower total cost of ownershipthan commercial alternatives because:

  • It is fully supported and documented.
  • Most people take products to market without ever contacting us, but with the complete peace of mind that they could opt to switch to a fully indemnified commercial license (with dedicated support) at any time.



FreeRTOS and LPCOpen

FreeRTOS is an integral part of LPCOpen. Information and a video on using LPCOpen with FreeRTOS is provided in tutorial form on the FreeRTOS website.


FreeRTOS kernel support for NXP MCUs

FreeRTOS has comprehensive kernel support for NXP ARM core MCUs, including:

  • LPC11xx Cortex-M0
  • LPC13/7/8xx Cortex-M3
  • LPC15xx Cortex-M3
  • LPC43xx Cortex-M4F / Cortex-M0
  • LPC2xxx ARM7

The main FreeRTOS .zip file download includes several pre-configured example projects for these devices. The intent of these projects is to provide an 'out-of-the-box' starting point, to get new users up and running as quickly as possible, and provide a base from which commercial projects can be developed. The example projects already include all the required source files, all the required include paths, all the required compiler options, and target one specific piece of hardware using one specific tool chain. A project cannot be provided for every possible combination, but using an existing project as a base for any new developments is still recommended even when an exact component or development board match cannot be found.


Additional FreeRTOS Products Supporting NXP MCUs


Free commercial licenses when used on NXP LPC17xx and LPC18xx MCUs!

FreeRTOS+FAT SL is a market proven, DOS compatible, proprietary and supported FAT file system provided by HCC Embedded to Real Time Engineers Ltd for use with FreeRTOS or in bare metal systems. FreeRTOS+FAT SL is intricately engineered to minimise both Flash and RAM footprint. Other products in the file system family include both high performance and true fail-safe designs.

Video: FreeRTOS+FAT SL and FreeRTOS+CLI in the FreeRTOS simulator

Header 1Header 2


FreeRTOS+UDP is a small, fully thread aware, sockets based, and very efficient UDP/IP stack for FreeRTOS. It was created specifically for, and contains the features needed by, our new Internet of Things solution (currently being documented). The standard Berkeley sockets "like" interface makes it fast to learn and easy to use, and its compact size and efficiency makes it ideal for communication between small network enabled embedded devices.



Free commercial licenses when used on NXP LPC17xx and LPC18xx MCUs!

FreeRTOS+CLI (Command Line Interface) provides a simple, small, extensible and RAM efficient method of enabling your FreeRTOS application to process command line input.


Featured FreeRTOS+IO and FreeRTOS+CLI Demo for LPCXpresso including networking and file system support

Two comprehensive example projects are available that demonstrates FreeRTOS, FreeRTOS+IO and FreeRTOS+CLI being used on an LPCXpresso LPC1769 board, using the free LPCXpresso IDE. Examples include a telnet style command line interface to a file system, where directory listings can be viewed, and files can be copied and deleted.


TCP/IP libraries

Low cost, professional, and fully featured IPv4 TCP/IP FreeRTOS libraries for the LPC176x are also available.



FreeRTOS+Trace is a trace tool for FreeRTOS that provides 15 graphically interconnected views for a world leading level of insight into the run-time behaviour of your FreeRTOS application. FreeRTOS+Trace includes recorder code for the LPC17xx, making it an indispensable debugging and optimisation tool for LP17xx based developments.



Free commercial licenses when used on NXP LPC17xx and LPC18xx MCUs!

FreeRTOS+IO provides a Linux/POSIX like open(), read(), write(), ioctl() type interface to peripheral driver libraries, and is ported to the CMSISv2p00_LPC17xx library provided by NXP from this website.

FreeRTOS+IO sits between CMSISv2p00_LPC17xx and a user application to provide a single, common, interface to all supported peripherals. The current LPC17xx board support package contains UART, I2C and SPI support, in both polled and interrupt driven modes.

FreeRTOS+IO abstracts away the peripheral interface details, including the implementation of any interrupt service routines that may be required.