内核是操作系统最基础也是最重要的部分。图3-1为RT-Thread内核架构图,内核处于硬件层之上,内核部分包括内核库、实时内核实现。 图3-1 RT-Thread内核及底层结构 内核库是为了保证内核能够独立运行的一套小型的类似C库 的函数实现子集。这部分根据编译器的不同,自带C库的情况也会有些不同,当使用GNU GCC编译器时,...
重点说一下这里的__rt_ffs()函数,该函数实现的功能:得到传入的32位变量中1所在的最低位位置,也就是所谓的实现查找字节最低非0位。该函数能够在 O(1)的时间复杂度下实现查找到最低优先级,其使用的是位图查找算法,还是挺精妙的,由于篇幅有限,请移步到这篇文章:《RT-Thread的位图调度算法分析(最新版)》。 2...
而且,我并未严格的按照RTThread的架构处理,写的稍微有些随心所欲。大家可以基于我的工程进行调试和二次开发,以便于达到理解OS内核、任务切换等相关知识。 源码链接地址如下: https://github.com/Kaixinguo2021/Tasking_TC397_MultiCore_RTThread.git *** 关注微信公众号“开心果 Need Car”,一起讨论Autosar开发中...
RT-Thread架构图:RT-Thread开发指南开源地址内核层:RT-Thread内核,是RT-Thread的核心部分,包括了内核系统中对象的实现,例如多线程及其调度、信号量、邮箱 储蓄叛逆2021-12-16 08:15:47 RT-Thread记录(二、RT-Thread内核启动流程) 在前面我们RT-ThreadStudio工程基础之上讲一讲RT-Thread内核启动流程. ...
内核对象控制块 对象(object)结构体 对象可以派生具体的对象 导火索 今天,想仔细看看RT-Thread 的内核的对象,基本上都是结构体,看看结构体的大小,占用RAM的大小。 单片机的程序,短小精悍是每个嵌入式软件工程师追求的,实现相同功能,占用最少资源,意味着硬件成本会进一步降低。
同时整本书也兼顾深度,对于要了解操作系统内核原理的使本书和配套的实验源码均可到野火电子/RT-Thread/之家野火电子RT-Thread之家《RT-Thread内核实现与应用开发实战指南—基于STM32第1章本书是野火嵌入式教学“RTOS内核实现与应用开发实战指南的”RT-Thread版本, RTOS内核实现与应用开发实战指南—基于STM32》是该书...
本书是野火嵌入式教学丛书“RTOS内核实现与应用开发实战指南的”RT-Thread版本,其中机械工业出版社出版的《FreeRTOS内核实现与应用开发实战指南—基于STM32》是该书的姐妹篇。因为两本书均是写RTOS的书籍,只是针对的RTOS对象不一样,所以书中凡是涉及到RTOS抽象层的理论部分均会有 很多相同的地方,具体的不同就体现为...
内核介绍 这个就是RT的内核构成了,主要实现了对象管理、线程管理及调度器、线程间通信管理、时钟管理及内存管理等等,可以说功能比较强大了,而且值得一说的是,内核最小的资源占用情况是 3KB ROM,1.2KB RAM,这就使得可以在资源有限的空间上发挥强大的功能。
内核对象管理 RT-Thread采用内核对象管理系统来访问/管理所有内核对象,内核对象包含了内核中绝大部分设施, 这些内核对象可以是静态分配的静态对象,也可以是从系统内存堆中分配的动态对象。 RT-Thread内核对象包括:线程,信号量,互斥量,事件,邮箱,消息队列和定时器,内存池,设备驱动等。