TROCHILIRTOS 介绍
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
在嵌入式系统中,我们使用RTOS,而在服务器或个人电脑等性能要求更高的地方我们经常使用Linux,这两者到底有什么区别?本文较详细的介绍了RTOS与Linux系统的特点,并做了简单的对比。 一.RTOS 1.什么是实时操作系统(RTOS) 实时操作系统(Real Time Operating System,简称RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能
1、RTOS(Real-Time Operating System) RTOS是指实时操作系统。 特性:实时性——及时响应和高可靠性 特点:包含一个实时任务调度器(严格按照优先级分配CPU时间片) RTOS会在外界事件或者数据产生,需要用足够快的时间进行处理。 2、RTOS和普通操作系统的区别? 1、RTOS在航空航天、军事、自动化领域具有优势。 2、响应时间确定性。 RTOS与普通操作系统的应用
线程模块 TI-RTOS内核管理线程执行的四个不同的任务级别,按照优先级降序排列为: 硬件中断 软件中断 任务 后台空闲功能的空闲任务 硬件中断 Hwi线程也称为中断服务程序或ISR,是TI-RTOS应用程序中具有最高优先级的线程。 Hwi 线程用于执行有严格时间限制的关键任务,它们被触发以响应在实时环境中发生的外部异步事件(中断)。Hwi 线程总是运行至完成,但是如果有其他 Hwi 中断使能,它
实时系统(Real-time operating system,RTOS)的正确性不仅依赖系统计算的逻辑结果,还依赖于产生这个结果的时间。实时系统能够在指定或者确定的时间内完成系统功能和外部或内部、同步或异步时间做出响应的系统。因此实时系统应该在事先先定义的时间范围内识别和处理离散事件的能力;系统能够处理和储存控制系统所需要的大量数据。 为了便于理解,机场的售票系统就是一个典型的实时系统。 [
1. RTOS核心 RTOS 系统的核心就是任务管理,FreeRTOS 也不例外,上手 RTOS 系统首先必须掌握的也是任务的创建、删除、挂起和恢复等操作。 2. 任务堆栈 FreeRTOS 之所以能正确的恢复一个任务的运行就是因为有任务堆栈在保驾护航,任务调度器在进行任务切换的时候会将当前任务的现场(CPU 寄存器值等)保存在此任务的任务堆栈中,等到此任务下次运行的时候就会先用堆栈中保存的值
操作系统提供的服务 操作系统的五大功能,分别为:作业管理、文件管理、存储管理、输入输出设备管理、进程及处理机管理 中断 所谓的中断就是在计算机执行程序的过程中,由于出现了某些特殊事情,使得CPU暂停对程序的执行,转而去执行处理这一事件的程序。等这些特殊事情处理完之后再回去执行之前的程序。中断一般分为三类: 内部异常中断:由计算机硬件异常或故障引起的中断; 软中断:由程序中执行了引起中断的指令而造成
存储器工作原理 应用程序如何在计算机系统上运行的呢?首先,用编程语言编写和编辑应用程序,所编写的程序称为源程序,源程序不能再计算机上直接被运行,需要通过三个阶段的处理:编译程序处理源程序并生成目标代码,链接程序把他们链接为一个可重定位代码,此时该程序处于逻辑地址空间中;下一步装载程序将可执行代码装入物理地址空间,直到此时程序才能运行。 程序编译 源程序经过编译程序的处理生成目标模块(目标代码)。一
sed sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。 sed命令行格式为: sed [-nefri] ‘command’ 输入文本 常用选项: -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的
进程与线程 对于有线程系统: 进程是资源分配的独立单位 线程是资源调度的独立单位 对于无线程系统: 进程是资源调度、分配的独立单位 进程之间的通信方式以及优缺点 管道(PIPE) 有名管道:一种半双工的通信方式,它允许无亲缘关系进程间的通信 优点:可以实现任意关系的进程间的通信 缺点: 长期存于系统中,使用不当容易出错 缓冲区有限 无名管道:一种半双工的通信方式,只能在具有亲缘关系的进程间使用(父
1 select,poll和epoll 其实所有的I/O都是轮询的方法,只不过实现的层面不同罢了. 这个问题可能有点深入了,但相信能回答出这个问题是对I/O多路复用有很好的了解了.其中tornado使用的就是epoll的. selec,poll和epoll区别总结 基本上select有3个缺点: 连接数受限 查找配对速度慢 数据由内核拷贝到用户态 poll改善了第一个缺点 epoll改了三个缺点.
你可以在任何主流操作系统下去做开发工作,Windows,macOS,Linux 都可以。如果选择 Windows ,版本最好选择 Windows 10 专业版。用 macOS 的用户不用太担心系统问题,可以无痛并免费升级,现在你应该用的是 Sierra 这个版本的 macOS 。Linux 也可以,比如 Ubuntu 的桌面版。 如果你能满足下面三个条件的其中一个,这个任务就算完成了: Windo
指令运行参数 设定变量T为指令运行总时间,t为所需时间最长部分指令的时间(周期),n为指令条数 指令相关公式 顺序方式运行指令所需时间:Tn 流水方式运行指令所需时间:T+(n-1)t 重叠方式运行指令所需时间:(n+2)t 吞吐率:n/流水方式运行指令所需时间 效率:效率=吞吐率t 加速比:加速比=效率n 可变分区分配算法 首次适应法 从主存低地址开始,寻找第一个可用(即大于等于作业需求的内存)
目前常用的 Linux 发行版主要包括 Debian/Ubuntu 系列和 CentOS/Fedora 系列。 前者以自带软件包版本较新而出名;后者则宣称运行更稳定一些。选择哪个操作系统取决于读者的具体需求。 使用 Docker,读者只需要一个命令就能快速获取一个 Linux 发行版镜像,这是以往包括各种虚拟化技术都难以实现的。这些镜像一般都很精简,但是可以支持完整 Linux 系统的大部分功能。