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 77,500 downloads a year, is deployed in millions of products, and has a huge user community.
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
- 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
Note that, following a recent announcement at ESC San Jose, the FreeRTOS+IO and FreeRTOS+CLI add-on components are now available free of charge, under commercial license terms, when they are used on NXP microcontrollers.
FreeRTOS+IO provides a POSIX/Linux "like" read(), write(), ioctl()
interface to the LPC17xx peripheral driver library
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. Support for non-serial peripherals will be added soon.
FreeRTOS+IO abstracts away the peripheral interface details, including the implementation of any interrupt service routines that may be required.
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.
FreeRTOS+Trace screen shot
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.