Front Page
Download
OpenRTOS and SafeRTOS
About FreeRTOS
Features Overview
News
A Better Type of Open Source
Licensing
Site Map
Getting Started...
Quick Start Guide + Videos
Tasks & Co-routines
More About Tasks...
Task States
Task Priorities
Implementing a Task
The Idle Task
Idle Task Hook
More About Co-routines...
Co-routine States
Co-routine Priorities
Implementing a Co-routine
Scheduling Co-routines
Mixing Co-routines & Tasks
Limitations and Restrictions
Quick Example
Other Examples
Inter-task Communication
Queues
Binary Semaphores
Counting Semaphores
Mutexes
Recursive Mutexes
Source Organisation
Directory Structure
Naming Conventions
Data Types
Demo Projects
Demo App Code
Modifying a Demo
WEB Server Demos
More Advanced...
Trace Features
Run Time Stats
Legacy Trace Facility
How FreeRTOS Works
Customisation
Memory Management
Memory Protection Support
Stack Overflow Protection
Hook Functions
Design Tips
Porting Guide
Win32 Simulator
Posix/Linux Simulator
Supported Devices
Altera (Nios II)
Atmel (Cortex M3, ARM7, ARM9, AVR)
Freescale (HCS12, Coldfire, PowerPC)
Fujitsu (32bit and 16bit)
Luminary Micro (Cortex M3)
Microchip (PIC32, PIC24, dsPIC [,PIC18])
NEC (V850ES, 78K0R)
NXP (Cortex M3, ARM7)
Renesas (H8S)
Silicon Labs (8051 comp.)
ST (Cortex M3, ARM7, ARM9)
TI (MSP430)
Xilinx (Microblaze, PowerPC)
x86 (Real Mode)
Contributed Ports (lots!)
API Reference
PDF Reference Manual
Task Creation
xTaskHandle (type)
xTaskCreate()
vTaskDelete()
TaskControl
vTaskDelay()
vTaskDelayUntil()
uxTaskPriorityGet()
vTaskPrioritySet()
vTaskSuspend()
vTaskResume()
xTaskResumeFromISR()
Task Utilities
xTaskGetCurrentTaskHandle()
uxTaskGetStackHighWaterMark()
xTaskGetTickCount()
xTaskGetSchedulerState()
uxTaskGetNumberOfTasks()
vTaskList()
vTaskStartTrace()
ulTaskEndTrace()
vTaskGetRunTimeStats()
vTaskSetApplicationTag()
xTaskCallApplicationTaskHook()
Kernel Control
taskYIELD()
taskENTER_CRITICAL()
taskEXIT_CRITICAL()
taskDISABLE_INTERRUPTS()
taskENABLE_INTERRUPTS()
vTaskStartScheduler()
vTaskEndScheduler()
vTaskSuspendAll()
xTaskResumeAll()
FreeRTOS-MPU Specific
xTaskCreateRestricted()
vTaskAllocateMPURegions()
portSWITCH_TO_USER_MODE()
Queues
uxQueueMessagesWaiting()
xQueueCreate()
vQueueDelete()
xQueueSend()
xQueueSendToBack()
xQueueSendToFront()
xQueueReceive()
xQueuePeek()
xQueueSendFromISR()
xQueueSendToBackFromISR()
xQueueSendToFrontFromISR()
xQueueReceiveFromISR()
vQueueAddToRegistry()
vQueueUnregisterQueue()
Semaphore / Mutexes
vSemaphoreCreateBinary()
vSemaphoreCreateCounting()
xSemaphoreCreateMutex()
xSemaphoreCreateRecursiveMutex()
xSemaphoreTake()
xSemaphoreTakeRecursive()
xSemaphoreGive()
xSemaphoreGiveRecursive()
xSemaphoreGiveFromISR()
Co-routines
xCoRoutineHandle (type)
xCoRoutineCreate()
crDELAY()
crQUEUE_SEND()
crQUEUE_RECEIVE()
crQUEUE_SEND_FROM_ISR()
crQUEUE_RECEIVE_FROM_ISR()
vCoRoutineSchedule()
Contact and Support
Contact
Free Support Forum
Commercial Support
Contract Services
FAQ
Extras
Microcontroller Performance Comparisons (old)
The FreeRTOS Shop
NEW!
Cortex M3 / LPC17xx
edition now available
Last site update February 27 2010