嵌入式
01
RTOS设计与开发(9):互斥锁与优先级继承,把同步真正接到调度器里
RTOS设计与开发(9):互斥锁与优先级继承,把同步真正接到调度器里 信号量和消息队列打通之后,RTOS 的对象层已经能做“同步”和“通信”了,但还缺最关键的一块:互斥锁。 互斥锁和信号量最大的区别,从来不只是 API 名字不同,而是...
从最近发布的内容开始看,遇到感兴趣的标题就点进去。
嵌入式
01
RTOS设计与开发(9):互斥锁与优先级继承,把同步真正接到调度器里 信号量和消息队列打通之后,RTOS 的对象层已经能做“同步”和“通信”了,但还缺最关键的一块:互斥锁。 互斥锁和信号量最大的区别,从来不只是 API 名字不同,而是...
嵌入式
02
RTOS设计与开发(8):最小消息队列,环形缓冲、双等待链表与deadline重试 信号量解决的是“有没有一个可用资源”的问题,消息队列解决的则是“有没有一条具体数据可以交给别人”。 当前仓库里的 "os_queue" 不是一个大而全...
嵌入式
03
RTOS设计与开发(7):二值信号量与优先级等待链表,先把同步原语打通 调度器、超时等待、PendSV 和 SysTick 都接好之后,RTOS 才终于有资格往上做同步原语。 在当前仓库里,第一块真正落地的对象层能力是二值信号量。它看...
嵌入式
04
RTOS设计与开发(6):延时、阻塞、超时与任务删除,把生命周期真正闭环 如果说前一阶段主要解决的是“时基和抢占什么时候发生”,那么这一阶段任务层真正补上的,是“任务从创建到退出,中间所有状态迁移到底怎么收口”。 这版代码已经不只是一...
嵌入式
05
RTOS设计与开发(5):SysTick、临界区与PendSV优先级,把抢占时基做扎实 前面几篇文章把 ready queue、时间片和 PendSV 切换链路搭起来之后,内核其实已经“能切任务”了。 但“能切”和“能稳定切”不是一回...
嵌入式
06
非阻塞式延时应用广泛,当前以定时器TIM2实现非阻塞式程序为例。 TIM2定时器实现非阻塞式延时(STM32F103) 一、原理说明 «非阻塞式延时的核心:用定时器中断生成时间基准,主循环通过时间戳判断是否到点,不阻塞CPU运行。» ...