热门问题
时间线
聊天
视角
ChibiOS/RT
来自维基百科,自由的百科全书
Remove ads
ChibiOS/RT是一个小且快的实时操作系统。[2] 它支持多种架构,并且以GPLv3释出。它的开发者是Giovanni Di Sirio。
此條目需要补充更多来源。 (2017年5月8日) |
Remove ads
简介
ChibiOS/RT是为8,16和32位微控制器设计的;其内存占用和运行效率是项目自始至终着重优化的点。[3] 在STM32(Cortex-M3,72MHz)上,一个典型的ChibiOS/RT实例会占用1.2kB到5.5kB的空间。内核每秒可以创建和终止220000多个线程,而且能在1.2微秒内完成一次线程切换。随着每一个架构移植的发布,ChibiOS的性能测试数据都会被照例公布。
功能
ChibiOS/RT的小型内核支持:
- 抢占性多任务[4]
- 128个优先级
- 同优先级线程按照时间片轮转调度
- 软件定时器
- 计数信号量
- 支持优先级继承的自旋锁
- 同步和异步信息,以及消息队列
- 事件标志和处理函数
- 支持的同步I/O和带超时的异步I/O
- 线程安全的堆或内存池分配器
- 支持多种底层硬件的硬件抽象层
- 支持lwIP和uIP协议栈
- 支持FatFS文件系统
所有的系统对象,比如线程、信号量等都能在运行时创建或者删除。除了可用内存的限制之外没有内核对象创建数量上限。为了增强可靠性,整个内核本身是静态编译的,并且不需要一个动态内存分配器;内核中也没有表或者数组的上限。整个系统的API设计中不包含诸如错误码或者异常一类的错误状况。
支持架构
- 意法半导体 STM32F1xx, STM32F2xx, STM32F3xx, STM32F4xx, STM32L1xx, STM32F0xx
- 意法半导体 STM8S208x, STM8S105x, STM8L152x
- 意法半导体/飞思卡尔SPC56x / MPC56xx
- 恩智浦 LPC11xx, LPC11Uxx, LPC13xx
- 恩智浦 LPC2148
- 爱特梅尔 AT91SAM7S, AT91SAM7X
- 爱特梅尔 Mega AVR
- 德州仪器 MSP430x1611
- 德州仪器 TM4C123G and TM4C1294
- 微芯 PIC32MX
Coldfire和H8S也有贡献者提交的移植可用。[2]
ChibiOS/RT已经被移植到了Raspberry Pi[5],而且GPIO、串口、定时器、I2C、SPI和PWM的驱动都已经齐备。
ChibiOS/RT也可以作为一个Win32进程运行。此时,它使用软件模拟I/O模式,方便在没有硬件的情况下进行软件开发。官方提供一个基于MinGW编译器的例子。
uGFX
µGFX完全支持ChibiOS/RT。现已完全商业化的µGFX的前身就是ChibiOS/GFX。
另请参见
参考资料
外部链接
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads