FreeRTOS作为开源的轻量级实时性操作系统,不仅实现了基本的实时调度、信号量、队列和存储管理,而且在商业应用上不需要授权费。伟研科技 http://www.gzweiyan.com 广州伟研电子科技有限公司 FREERTOS 在 STM32 的移植 伟研科技 http://www.gzweiyan.com V 1.0 FreeRTOS 作为开源的轻量级实时性操作系统,不仅实现了基本的实时调度、信号量、队列和存储管理,而 且在商业应用上不需要授权费。 FreeRTOS 的实现主要由 list.c、queue.c、croutine.c 和 tasks.c 4 个文件组成。list.c 是一个链表的实现,主要 供给内核调度器使用;queue.c 是一个队列的实现,支持中断环境和信号量控制;croutine.c 和 task.c 是两种任务 的组织实现。对于 croutine,各任务共享同一个堆栈,使 RAM 的需求进一步缩小,但也正因如此,他的使用受 到相对严格的限制。而 task 则是传统的实现,各任务使用各自的堆栈,支持完全的抢占式调度。 FreeRTOS 的主要功能可以归结为以下几点: 1) 优先级调度、相同优先级任务的轮转调度,同时可设成可剥夺内核或不可剥夺内核 2) 任务可选择是否共享堆栈(co-routines & tasks),并且没有任务数限制 3) 消息队列,二值信号量,计数信号量,递归互斥体 ……