互斥量的概念 在 RT-Thread 中,互斥量(Mutex,互斥锁)用于确保共享资源在任意时刻只被一个线程访问 - **确保共享资源的互斥访问**:互斥量用于保护对共享资源的访问,确保在任意时刻只有一个线程可以访问该资源;避免多个线程同时修改共享资源而导致的数据不一致或竞态条件 - 实现临界区保护:互斥量通常用于实现临界区保护,将对共享资源的访问限制在临界区内。**只有获取了互斥量的线程...
标签: rt-thred
找到 9 篇相关文章
**消息队列是一种线程间的通信方式,是邮箱的扩展** 消息队列的工作机制 消息队列能够接收来自线程或中断服务例程中**不固定长度的消息**,**并把消息缓存在自己的内存空间中**。其他线程也能够从消息队列中读取相应的消息,而当消息队列为空时,可挂起读取线程。当有新的消息到达时,挂起的线程将被唤醒为接收并处理消息 **消息队列是一种异步的通信方式** 通常将先进入消息队列的消息先传给线程...
邮箱 **邮箱是实时操作系统中的一种典型的线程间的通信方式** **邮箱的通信方式除了可以一对一,也可以一对多通信,或者多对多通信** 邮箱的工作机制 在RT-thread操作系统中,邮箱是开销较低、效率较高的一种线程间通信方式。 **邮箱中的每一封邮件的容量固定为4字节(刚好容下一个32位系统的指针)** 线程或中断服务程序把一封长度为4字节的邮件发送到指定邮箱中,而其他一...
嘀嗒时钟 时钟tick的频率一般由RT\_TICK\_PER\_SECOND宏定义决定,系统默认设置RT\_TICK\_PER\_SECOND为1000,注意RT\_TICK\_PER\_SECOND不能大于1000,防止嘀嗒硬件溢出,无返回值 定时器 我们首先要区分操作系统定时器和芯片上的硬件定时器: - 硬件定时器:是芯片本身提供的定时功能,一般由外部晶振提供芯片输入时钟,当到达...
线程同步的概念 **在操作系统中完成一项任务,可能往往需要多个线程协同完** 例如我们显示传感器检测的数据,需要两个线程,一个接收线程,接收传感器数据,并将数据写入共享内存中;另一个显示线程,从共享内存中读取数据并显示出来 **如果共享内存不是排他性(一个访问时另外的线程不可以访问)**,可能引起数据一致性的问题,在显示线程读取的时候,接收线程还没有完全完成数据的存放,可能会导致数据...
线程介绍 线程的概念 开发人员把复杂的任务进行功能分解,形成若干个不同功能的小任务,而不同功能的任务由运行于操作系统中的不同程序来完成,再由操作系统统一调度各个程序之间的运行。 **这些运行在操作系统之上的程序单元就是线程** **在RT-threa中线程是任务的载体,是RT-thread中的最小调度单元** 线程的调度 对于单核系统,系统中有多个线程,每个线程的运行都需要占用CP...
使用模块化,对每一个功能进行单独的封装.c.h,便于后期的移植和调用。 模块的.c.h .h文件 - 编写头文件的基本框架 - 定义需要用的的参数定义,枚举、结构体、共用体等 - 函数定义,函数包括:线程入口函数、执行操作的函数等…… .c文件 头文件、宏定义 - **rtthread.h**:RT-thread内核有关,提供的接口声明、类型定义 - **rtdevice....
RT-thread通过PIN设备对芯片的GPIO引脚进行管理,我们可以通过rtt它提供的一系列PIN设备管理接口来操作GPIO rt\_pin\_get 在rtt中的引脚编号和芯片上的引脚号并不是一个概念,所以在操作PIN设备前,我们需要使用引脚编号来指定对哪个引脚进行操作。通常有3种方式获得引脚编号:调用API、宏定义、查看PIN驱动文件。 调用API 使用rt\_pin\_g...
介绍 RT-thread相比Linux操作系统,其**具有体积小、成本低、启动快、功耗低的特点,除此之外,RT-thread还具有实时性高、占用小资源的特点** 对于受硬件资源限制的,可以使用RT-thread的NANO版本,它仅仅需要3KB Flash和1.2KB RAM内存资源。硬件丰富的资源,可以使用RT-thread的在线软件包管理工具,实现直观快速的模块化裁剪 RT-thr...