正点原子UCOSIII

一、UCOSIII基础知识

二、任务的创建与删除

struct os_tcb {
CPU_STK                 *StkPtr;                     /* 任务栈栈顶,必须为TCB的第一个成员 */  
...
}
任务栈栈顶,在任务切换时与任务的上下文保存、任务恢复息息相关
注意:每个任务都有属于自己的任务控制块,类似身份证

注意如果p_ tcb代入的参数为NULL,则代表删除任务自身(当前正在运行的任务)


三、任务挂起与恢复


四、中断管理


FreeRTOS中断优先级数值越大越优先

四、UCOSIII临界段代码保护及任务调度锁

四、启动任务调度器


五、时间片调度


六、时间管理

六、队列操作

七、信号量

信号传递状态,队列传递数据,量表示数量,有二值信号、计数型信号量等。
信号量是一种解决同步问题的机制,可以实现对共享资源的有序访问。

OSSemPost()

OSSemPend()

八、任务内嵌信号量/队列

九、时间管理

十、事件标志组

十一、软件定时器

十二、内存管理

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐