ARM
CMSIS-FreeRTOS
Bundle of FreeRTOS for Cortex-M and Cortex-A
http://www.keil.com/pack/
License/license.txt
Added support for OS Tick component
Added documentation for configuration options (native/CMSIS-RTOS2)
Debug event TaskIncrementTick level set to Detail
Initial release version:
- native FreeRTOS component (RTOS: Variant=FreeRTOS)
- CMSIS-RTOS FreeRTOS for Cortex-M and Cortex-A9 (CMSIS:RTOS:FreeRTOS, CMSIS:RTOS2:FreeRTOS)
Cortex-M0 or Cortex-M0+ or SC000 processor based device
Cortex-M3 or SC300 processor based device
Cortex-M4 processor based device
Cortex-M4 processor based device using Floating Point Unit
Cortex-M7 processor based device
Cortex-M7 processor based device using Floating Point Unit
Cortex-M7 processor based device using Floating Point Unit (SP)
Cortex-M7 processor based device using Floating Point Unit (DP)
Cortex-A9 processor based device using Floating Point Unit (DP)
Cortex-M processor based device
Cortex-A processor based device
Cortex-M0 or Cortex-M0+ or SC000 processor based device for the ARM Compiler
Cortex-M3 or SC300 processor based device for the ARM Compiler
Cortex-M4 processor based device for the ARM Compiler
Cortex-M4 processor based device using Floating Point Unit for the ARM Compiler
Cortex-M7 processor based device for the ARM Compiler
Cortex-M7 processor based device using Floating Point Unit (SP) for the ARM Compiler
Cortex-M7 processor based device using Floating Point Unit (DP) for the ARM Compiler
Cortex-A9 processor based device for the ARM Compiler
Cortex-M0 or Cortex-M0+ or SC000 processor based device for the GCC Compiler
Cortex-M3 or SC300 processor based device for the GCC Compiler
Cortex-M4 processor based device for the GCC Compiler
Cortex-M4 processor based device using Floating Point Unit for the GCC Compiler
Cortex-M7 processor based device for the GCC Compiler
Cortex-M7 processor based device using Floating Point Unit (SP) for the GCC Compiler
Cortex-M7 processor based device using Floating Point Unit (DP) for the GCC Compiler
Cortex-A9 processor based device for the GCC Compiler
CMSIS-RTOS implementation for Cortex-M based on FreeRTOS
#define RTE_CMSIS_RTOS /* CMSIS-RTOS */
#define RTE_CMSIS_RTOS_FreeRTOS /* CMSIS-RTOS FreeRTOS */
CMSIS-RTOS2 implementation for Cortex-M based on FreeRTOS
#define RTE_CMSIS_RTOS2 /* CMSIS-RTOS2 */
#define RTE_CMSIS_RTOS2_FreeRTOS /* CMSIS-RTOS2 FreeRTOS */
CMSIS-RTOS2 implementation for Cortex-A based on FreeRTOS
#define RTE_CMSIS_RTOS2 /* CMSIS-RTOS2 */
#define RTE_CMSIS_RTOS2_FreeRTOS /* CMSIS-RTOS2 FreeRTOS */
FreeRTOS Real Time Kernel
http://www.freertos.org/Documentation/FreeRTOS_Reference_Manual_V9.0.0.pdf
Core components API (Kernel, Tasks, Semaphores, Mutexes, Queues)
#define RTE_RTOS_FreeRTOS_CORE /* RTOS FreeRTOS Core */
FreeRTOS CMSIS-RTOS2 API configuration file
#define RTE_RTOS_FreeRTOS_CONFIG_RTOS2 /* RTOS FreeRTOS Config for CMSIS RTOS2 API */
FreeRTOS API configuration file
#define RTE_RTOS_FreeRTOS_CONFIG /* RTOS FreeRTOS Config for FreeRTOS API */
Co-routine API
#define RTE_RTOS_FreeRTOS_COROUTINE /* RTOS FreeRTOS Co-routines */
Event Group API
#define RTE_RTOS_FreeRTOS_EVENTGROUPS /* RTOS FreeRTOS Event Groups */
Timer API
#define RTE_RTOS_FreeRTOS_TIMERS /* RTOS FreeRTOS Timers */
Very simple, does not permit memory to be freed.
#define RTE_RTOS_FreeRTOS_HEAP_1 /* RTOS FreeRTOS Heap 1 */
Permits memory to be freed, but not does coalescence adjacent free memory blocks.
#define RTE_RTOS_FreeRTOS_HEAP_2 /* RTOS FreeRTOS Heap 2 */
Wraps the standard malloc() and free() for thread safety.
#define RTE_RTOS_FreeRTOS_HEAP_3 /* RTOS FreeRTOS Heap 3 */
Coalescences adjacent free memory blocks to avoid fragmentation. Includes absolute address placement option.
#define RTE_RTOS_FreeRTOS_HEAP_4 /* RTOS FreeRTOS Heap 4 */
Same as Heap_4, with the ability to span the heap across multiple non-adjacent memory areas.
#define RTE_RTOS_FreeRTOS_HEAP_5 /* RTOS FreeRTOS Heap 5 */
CMSIS-RTOS2 Blinky example using FreeRTOS
Getting Started
CMSIS-RTOS2 Blinky example using FreeRTOS for Cortex-A9
Getting Started
Blinky example using FreeRTOS natively
Getting Started