This page demonstrates the FreeRTOS Rowley CrossWorks (GCC) LPC2000 port running on a CrossFire LPC2138 embedded evaluation kit (instructions are provided should you wish to use an alternative development board).
The CrossFire LPC2138 is a low cost evaluation platform that includes a USB CrossConnect JTAG debugging interface on board. The evaluation version of the CrossWorks embedded development tools can be used to develop software for the CrossFire board with no compiled code size or time restrictions.
IMPORTANT! Notes on using the LPC2138 RTOS portPlease read all the following points before using this RTOS port.
My application does not run, what could be wrong?
Source Code OrganizationThe FreeRTOS download contains the source code for all the FreeRTOS ports and demonstrations and therefore contains many more files than required by this demo. See the Source Code Organization section for a description of the downloaded files and information on creating a new project.
The Rowley CrossWorks / GCC demo project file for the Philips LPC2138 ARM7 microcontroller is called RTOSDemo.hzp and is located in the FreeRTOS/Demo/ARM7_LP2138_Rowley directory.
The Demo Application
Build configurationsFour build configurations are provided as shown in the image below.
Selecting the build configuration within the CrossWorks IDE
RTOS Demo application hardware setupConnect the CrossFire board to your development host using the supplied USB cable. You will be prompted to install the CrossConnect drivers if you have not previously done so.
The demo application utilises the LED and button that are built onto the CrossFire board, so no additional hardware setup is required.
Building and executing the RTOS demo applicationThe RTOS demo application can be built and download in a single step by selecting "Build and Debug" from the "Build" menu, or simply hitting F5. The project should build with no errors or warnings.
Building and downloading the demo application
FunctionalityThe demo application includes the following tasks:
PASS PASS PASS PASS Task State Priority Stack # ************************************************ Button R 3 99 21 PolSEM2 R 0 97 4 SUSP_RX R 0 93 11 CNT_INC R 0 102 7 QProdB2 R 0 94 13 QProdB3 R 0 94 14 QConsB6 R 0 94 17 QProdB5 R 0 94 16 IDLE R 0 104 22 IntMath R 0 102 0 Print R 0 93 20 PolSEM1 R 0 97 3 C_CTRL B 0 98 9 SUSP_TX B 0 102 10 QProdNB B 2 99 2 LED B 2 102 18 BlkSEM1 B 1 90 5 BlkSEM2 B 1 96 6 QConsB1 B 2 99 12 QConsB4 B 2 99 15 Check B 3 99 19 QConsNB B 2 99 1 LIM_INC S 1 103 8 PASS PASS
usage section on the LPC2106 demo documentation page for more information.
Note: The RTOS scheduler does not install a default interrupt handler (to handle spurious interrupts). The application should ensure an appropriate handler is installed.
Copyright (C) 2004-2010 Richard Barry. Copyright (C) 2010-2016 Real Time Engineers Ltd.
Any and all data, files, source code, html content and documentation included in the FreeRTOSTM distribution or available on this site are the exclusive property of Real Time Engineers Ltd.. See the files license.txt (included in the distribution) and this copyright notice for more information. FreeRTOSTM and FreeRTOS.orgTM are trade marks of Real Time Engineers Ltd.