trochili RTOS - 嵌入式实时操作系统内核


Apache
嵌入式
C/C++

软件简介

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