CMSIS-RTOS2之freeRTOS的封装解析---第1章

本文介绍CMSIS-RTOS2中的FreeRTOS如何被封装,重点解析osKernelState_t枚举及其相关函数,如osKernelInitialize、osKernelStart、osKernelLock和osKernelUnlock。通过stm32cubemx生成的代码示例展示初始化和操作调度器的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开门见山,直接上干货,我们这里讲的是CMSIS-RTOS2 即CMSIS V2,也是stm32cubemx可以直接生成的操作系统封装;由于stm32cubemx使用cmsis封装的freertos所以我接下来,就结合被封装的freertos来讲解cmsis-rtos 2的用法。

cmsis_os.h文件里有一个枚举定义

typedef enum {
  osKernelInactive        =  0,         ///< Inactive.不活跃的
  osKernelReady           =  1,         ///< Ready.准备好的
  osKernelRunning         =  2,         ///< Running.正在运行
  osKernelLocked          =  3,         ///< Locked.调度器上锁
  osKernelSuspended       =  4,         ///< Suspended.挂起
  osKernelError           = -1,         ///< Error.错误
  osKernelReserved        = 0x7FFFFFFFU ///< Prevents enum down-size compiler optimization.预留
} osKernelState_t;

这是cmsis用来表示系统状态的,和以下几个封装函数有关。

首先cmsis有个操作系统初始化函数osKernelInitialize,操作系统状态上电默认是Inactive.不活跃的,在这里没有啥复杂操作,就是把状态改为Ready.准备好的。所以这个函数一般放在最开始,表示初始化操作系统了,其实和

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cocoguojia

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值