FreeRTOS with LPCXpresso LPX1343 board

johncrobbins wrote on Wednesday, October 27, 2010:


I have been trying to get FreeRTOS working with my LPCXpresso LPX1343 board following the instructions in the Using FreeFTOS ….LPC17xx edition. This instructs the user to select the processor at the project root for both the library and the example, which I have done.

Trying to build an example project I get the errror

Documents\lpcxpresso_3.5\workspace\FreeRTOS_Library\include/FreeRTOSConfig.h:6:21: error: lpc13xx.h: No such file or directory

So I started another project that referenced the CMSIS LPC13xx version, used the corresponding startup file and so on.

This compiles and runs, but faults after running vPortStartFirstTask().

I did get the code in working fine but I would like to be able to work through the examples referenced in the pdf to make sure I understand FreeRTOS.

Has anyone got these examples running on the 1343? 

Any help would be appreciated.


rtel wrote on Wednesday, October 27, 2010:

I have a simple demo for the 1768 version of the LPCXpresso which I will also get running on the 1343, although it might be a couple of days yet.

All the demos should run on the 1343, given the correct configuration, I was originally using 13xx hardware before the 1768 boards  were available.


johncrobbins wrote on Wednesday, October 27, 2010:

Hi Richard,

Thanks for the reply.

Just a  version that runs a couple of simple tasks that would be great. At this stage I am not interested in Ethernet, USB or communication with displays. If you have something simple that shows the use of message queues, semaphores would be great though I would be quite happy to get code that allowed me to run example 1 in your LPC17xx book which I received a couple of days ago - thanks.

John Robbins.

rtel wrote on Thursday, October 28, 2010:

Does the LPCXpresso IDE have a FreeRTOS wizard?  The full Red Suite product does, so maybe you could use that to generate a simple project if the LPCXpresso version omits that?


johncrobbins wrote on Thursday, October 28, 2010:

No - I think I read somewhere that there was once upon a time a RTOS wizard but that it had been removed.

At the moment I think I will modify your LPC11xx version which seems to work fine with the 1343 even though the port seems addressed to the m0 part. I have commented out the calls to create the heatbeat and the LCD tasks so now it resembles your example01 - so far so good. Today I will add the code for a queue as that is the capability of most interest to me.

I have run a diff program on the two versions of the tasks.c file (one in the LPC11x, one in the library) and while there are lots of differences I haven’t found anything obvious. I do hope you have time to get the ‘official’ version for example01 working for the 1343 as it certainly makes a good starting point for understanding FreeRTOS as opposed to MicroC/OS which I have used in the past.

Thanks again for your help.


rtel wrote on Friday, October 29, 2010:

See here:


johncrobbins wrote on Saturday, October 30, 2010:

Hi Richard,

Thanks - this is working now. I had an initial problem in that I had not gotten rid of a pre-existing FreeRTOS_Library so the version that came with the 1343 demo was not loaded. Once this was corrected and the new library built - all was well.

So now I really hope I can start to play with semaphores and mutexes,

Thanks again,


johncrobbins wrote on Saturday, October 30, 2010:

The download for the FreeRTOS_Library included only the Debug version. I added a Release to the Build Configurations box and generated what I thought would be a Release version of the library. But this seems to build the same as the Debug version and I get build errors when I try and rebuild the Simple application in release mode.

I would like to get the Release version working as I suspect my application will be pushing the memory limits.

I am probably doing something stupid and any help would be appreciated.