![](https://img-blog.csdnimg.cn/403f04d2558546d596f09aa7fc3ad3e0.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
RT-Thread 内核学习
文章平均质量分 95
实时内核的实现包括:对象管理、线程管理及调度器、线程间通信管理、时钟管理及内存管理等等,内核最小的资源占用情况是 3KB ROM,1.2KB RAM。
以放_
明日将逝!
展开
-
【玩转RT-Thread】RT-Thread内核宏定义详解(rtdef.h)
* RT-Thread basic data type definitions */ # ifndef RT_USING_ARCH_DATA_TYPE /* 简单来说,开启此宏定义后,BSP就会在ARCH_CPU 级别定义基本数据类型 */ # ifdef RT_USING_LIBC /* 用于控制是否使用标准C库函数 */ typedef int8_t rt_int8_t;原创 2023-04-09 13:33:34 · 1432 阅读 · 0 评论 -
【玩转RT-Thread】线程间同步(一) 信号量
文章目录一、概述:二、信号量1、简述2、信号量结构体3、信号量使用及管理一、概述:多个执行单元(线程、中断)同时执行临界区,操作临界资源,会导致竟态产生,为.了解决这种竟态问题,RT-Thread OS提供了如下几种同步互斥机制:信号量(semaphore)、互斥量(mutex)、和事件集(event)二、信号量1、简述信号量是一种轻型的用于解决线程间同步问题的内核对象,线程可以获取或释放它,从而达到同步或互斥的目的。信号量工作示意图如下图所示,每个信号量对象都有一个信号量值和一个线程等原创 2022-05-17 22:40:04 · 1330 阅读 · 0 评论 -
【玩转RT-Thread】 时钟管理(原理+实战)
文章目录序言一、时钟节拍1、void SysTick_Handler()2、void rt_tick_increase()二、获取系统节拍rt_tick_get(void);三、实战演示序言操作系统需要通过时间来规范其任务的执行,操作系统中最小的时间单位是时钟节拍 (OS Tick)。一、时钟节拍任何操作系统都需要提供一个时钟节拍, 以供系统处理所有和时间有关的事件,如线程的延时、线程的时间片轮转调度以及定时器超时等。RT-Thread 中,时钟节拍的长度可以根据 RT_TICK_PER_SE原创 2022-05-14 17:11:58 · 3195 阅读 · 1 评论 -
【玩转RT-Thread】线程管理(详细原理)
文章目录一、序言二、线程管理的功能特点一、序言在日常生活中,我们通常会将一个大的问题拆分细化,拆开成若干个小问题,通过逐个解决小问题,大问题也就解决了。同样的在RT-Thread多线程操作系统中,开发人员基于这种分而治之的思想,将一个复杂的应用问题抽象成若干个小的、可调度的、可序列化的程序单元。当合理地划分任务并正确地执行时,这种设计能够让系统满足实时系统的性能及时间的要求。下面看一个例子:我们的任务是读取传感器上的数据,并将相关数据显示出来。通过拆分结构,我们可以发现主要有两个任务:1.读取数原创 2022-04-13 17:05:09 · 6090 阅读 · 1 评论 -
【玩转RT-Thread】I2C(内核学习)
1、i2c协议由飞利浦公司开发,支持设备间的短距离通信。i2c通信需要的引脚少,硬件实现简单、可扩展性强,被广泛应用在系统内多个集成电路(IC)间的通信。2、i2c物理层i2c通信总线可连接多个i2c通信设备,支持多个通信主机和多个通信从机。i2c通信只需要两条双向总线——SDA(串行数据线)和SCL(串行时钟线)。SDA:用于传输数据SCL:用于同步数据收发每个连接到总线的设备都有一个独立地址,共7bit,主机正是利用该地址对设备进行访问i2c支持多主控,任何时间点都只能有一个主控。i2原创 2022-04-12 19:42:36 · 4300 阅读 · 1 评论