Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's a good RTOS to use with the LPC1788 microcontroller?

I'm trying to find a free/cheap RTOS that others have found works well with the NXP LPC1788 microcontroller. I was originally planning on using FreeRTOS, but it doesn't seem to support that particular processor; the closest supported core is the LPC1768. ThreadX works with the LPC1788, but a license for it will cost several thousand pounds. Suggestions?

EDIT 1: I forgot to mention, I'm working with IAR Embedded Workbench.

EDIT 2: I guess I should also point out that I'm fairly new to embedded programming, let alone using RTOS's. FreeRTOS and ThreadX both seem to be pretty similar, and both have fairly intuitive API's. The more that the API of another RTOS matches with these kinds of API's, the better I suppose.

EDIT 3: I've been looking into one RTOS called embOS. It looks professional, the API looks nice, they support a decent number of processor/IDE combinations (including mine), and I've already got an example project working fine. It's not free, and a license for it will cost around 2500 euros, but that's still around 3 times cheaper than the threadX license. Thanks for the suggestions, I feel kind of bad that I can't choose an accepted answer.

like image 810
Tagc Avatar asked Dec 16 '22 19:12

Tagc


1 Answers

I was originally planning on using FreeRTOS, but it doesn't seem to support that particular processor

Actually, FreeRTOS support all Cortex-M3 and Cortex-M4 processors with GCC, IAR and Keil. Just because there is not a specific pre-configured demo project for it does not mean it is not supported.

FreeRTOS does not rely on anything outside of the Cortex-M core, because the timer generation and interrupt controller are part of the core itself.

You can take an existing official LPCxx IAR demo project from the FreeRTOS distribution, and simply re-target it by setting up the right linker script for the chip. Any demo tasks that make use of IO that might be different on your particular hardware (ports used for LED outputs, etc.) can be modified to be correct for your IO port assignment, or just removed.

For example, Atollic have 55 FreeRTOS projects running on 55 different hardware platforms, all that actually use the same C source files - only the start up files and linker scripts are different.

like image 111
Richard Avatar answered Jan 11 '23 18:01

Richard