trochili RTOS嵌入式实时操作系统内核
TROCHILI RTOS 介绍
TROCHILI是一个全新的适用于嵌入式领域的实时操作系统内核。支持多线程、多优先级、抢占式调度。内核代码大部分由C语言开发,代码结构清晰,可维护性好。TROCHILI取蜂鸟之意,意味着体积小巧、动作灵敏。
多线程机制特点
-
灵活的线程调度机制,支持优先级抢占式调度。
-
可配置的多优先级数目,默认支持32优先级(可扩展) 。
-
不同优先级线程采用优先级调度,相同优先级线程间采用时间片调度。
-
可动态调整线程优先级和时间片。
-
支持多种线程管理功能(线程激活和休眠、线程挂起和唤醒、线程延时、修改线程优先级或时间片等) 。
IPC机制特点
-
支持常见IPC机制(信号量、互斥量、消息队列、邮箱、事件标记等) ,充分总结以上各种IPC机制的共性和特性,基于通用IPC控制结构和操作流程,做了完整、规则并且简洁的实现。
-
可配置的IPC调度机制,支持FIFO和优先级两种方式的线程等待队列(如在消息队列里,可以配置普通消息操作按照FIFO策略来处理,而紧急消息可采用优先级机制)。
-
消息队列、邮箱支持紧急消息传递。
-
互斥量支持优先级天花板协议。
-
信号量、消息队列、邮箱、事件标记支持ISR代码调用操作。
定时器机制特点
-
支持用户定时器、线程延时定时器和IPC访问的时限定时器。
-
内核内置定时器处理线程,可以配置选择在ISR或者线程里完成具体的用户定时操作。
ISR机制特点
-
提供灵活的中断处理机制,支持中断下半部处理机制。
-
中断请求可以在ISR里完成,也可以内核内置中断处理线程完成,更可以在用户自己提供的中断处理线程完成。
其他特点
-
提供完整简洁的API功能接口,大量API可以在ISR中不受限的使用。
-
代码结构完整,层次清晰,易于理解维护,强调工程性。
-
资料完整,有大量的实验指导资料和正式出版的图书。
-
代码注释完备,十分详尽的中文注释,可以说是注释最详细的内核代码。
参数统计
TROCHILI非常适合各种资源紧张的MCU系统。基于GD32F150的处理器(72M主频、8K SRAM),采用全功能默认配置,移植后的内核参数如下:
-
ROM代码 小于10KB
-
RAM代码 约2.8KB
-
各个API调用时间分布在3~15us