CMSIS-RTOS功能概述
以下列表简要概述了所有CMSIS-RTOS功能。标有$的函数是可选的。特定的CMSIS-RTOS实现可能无法提供所有功能,但osFeatureXXXX定义明确指出了这一点。
- 注意
- RTX实现不支持的功能标有(*)。
- 内核信息和控制
- osKernelInitialize:初始化RTOS内核。
- osKernelStart:启动RTOS内核。
- osKernelRunning:查询RTOS内核是否正在运行。
- osKernelSysTick:获取RTOS内核系统计时器计数器。
- osKernelSysTickFrequency:RTOS内核系统定时器频率,单位为Hz。
- osKernelSysTickMicroSec:将微秒值转换为RTOS内核系统计时器值。
- 线程管理
- osThreadCreate:开始执行线程函数。
- osThreadTerminate:停止执行线程函数。
- osThreadYield:将执行传递给下一个就绪线程函数。
- osThreadGetId:获取线程标识符以引用此线程。
- osThreadSetPriority:更改线程函数的执行优先级。
- osThreadGetPriority:获取线程函数的当前执行优先级。
- 通用等待功能
- 定时器管理
- osTimerCreate:定义计时器回调函数的属性。
- osTimerStart:使用时间值启动或重新启动计时器。
- osTimerStop:停止计时器。
- osTimerDelete:删除计时器。
- 信号事件
- osSignalSet:设置线程的信号标志。
- osSignalClear:重置线程的信号标志。
- osSignalWait:暂停执行,直到设置了特定的信号标志。
- 互斥
- osMutexCreate:定义并初始化互斥锁。
- osMutexWait:获取互斥锁或等待它变为可用。
- osMutexRelease:释放互斥锁。
- osMutexDelete:删除互斥锁。
- 信号灯
- osSemaphoreCreate:定义并初始化信号量。
- osSemaphoreWait:获取信号量令牌或等到它可用。
- osSemaphoreRelease:释放信号量令牌。
- osSemaphoreDelete:删除信号量。
- 记忆池
- osPoolCreate:定义并初始化一个修复大小的内存池。
- osPoolAlloc:分配内存块。
- osPoolCAlloc:分配一个内存块并将该块置零。
- osPoolFree:将内存块返回到内存池。
- 消息队列
- osMessageCreate:定义并初始化消息队列。
- osMessagePut:将消息放入消息队列。
- osMessageGet:获取消息或暂停线程执行,直到消息到达。
- 邮件队列
- osMailCreate:使用固定大小的内存块定义和初始化邮件队列。
- osMailAlloc:分配内存块。
- osMailCAlloc:分配一个内存块并将该块置零。
- osMailPut:将内存块放入邮件队列。
- osMailGet:获取邮件或暂停线程执行,直到邮件到达。
- osMailFree:将内存块返回到邮件队列。
- RTX特定功能
- os_idle_demon:当没有其他线程准备好运行时,系统线程正在运行。
- os_suspend:挂起RTX任务调度程序。
- os_resume:恢复RTX任务调度程序。
- os_tick_init:将备用硬件计时器初始化为RTX内核计时器。
- os_tick_val:获取备用硬件计时器的当前值。
- os_tick_ovf:获取备用硬件定时器的溢出标志。
- os_tick_irqack:确认备用硬件定时器中断。
- os_error:检测到运行时错误时调用。
超时值
超时值指定超时或时间延迟过去之前的计时器滴答数。该值是上限,取决于自上次计时器滴答以来经过的实际时间。
对于值1,系统等待直到下一个计时器滴答发生。这意味着实际超时值可以是小于指定超时值的一个计时器滴答。

来自中断服务程序的调用
可以从线程和中断服务例程(ISR)调用以下CMSIS-RTOS函数:
- osKernelRunning
- osSignalSet
- osSemaphoreRelease
- osPoolAlloc,osPoolCAlloc,osPoolFree
- osMessagePut,osMessageGet
- osMailAlloc,osMailCAlloc,osMailGet,osMailPut,osMailFree
无法从ISR调用的函数正在验证中断状态,并在从ISR上下文调用状态代码osErrorISR时返回。在一些实现中,可以使用HARD FAULT向量捕获该条件。
一些CMSIS-RTOS实现同时支持来自多个ISR的CMSIS-RTOS函数调用。如果这是不可能的,CMSIS-RTOS拒绝嵌套ISR函数的调用,状态代码为osErrorISRRecursive。
CMSIS-RTOS功能概述的更多相关文章
- Power BI官方视频(1) Power BI Desktop 7月份更新功能概述
2016年7月,Power BI Desktop进行了一些功能更新,提高整体的用户体验.同时也有一些新的和令人兴奋的功能.看看大概介绍,更新功能要点: 本文原文地址:Power BI官方视频(1) P ...
- osgearth各个例子功能概述
osgearth各个例子功能概述 转自:http://blog.csdn.net/wl198302/article/details/21177309 最近在学习osgearth,对其还不是很理解,有些 ...
- SAP Business One SAP B1功能概述
SAP Business One SAP B1功能概述 SAP B One配有易于使用的软件界面,是一款全面的,多功能的业务管理解决方案,贵企业可以将其用作主要的企业资源(ERP)应用程序. 该解决方 ...
- Android(java)学习笔记102:Map集合功能概述
下面通过代码引入Map集合:如下 package cn.itcast_01; import java.util.HashMap; import java.util.Map; /* * 作为学生来说,是 ...
- Java基础知识强化之集合框架笔记51:Map集合之Map集合的功能概述与测试
1. Map集合的功能概述 (1)添加功能 V put(K key,V value):添加元素.这个其实还有另一个功能?先不告诉你,等会讲 如果键是第一次存储,就直接存储元素,返回null 如果键不是 ...
- Java基础知识强化之集合框架笔记16:List集合的特有功能概述和测试
1. List集合的特有功能概述: (1)添加功能: void add(int index, Object element):在指定位置添加元素 (2)获取功能: Object get(int ind ...
- Java基础知识强化之集合框架笔记03:Collection集合的功能概述
1. Collection功能概述:Collection是集合的顶层接口,它子体系有重复的,有唯一性,有有序的,无序的. (1)添加功能 boolean add(Object obj):添加一个元素 ...
- ABBYY PDF Transformer+功能概述
ABBYY PDF Transformer+是一个新的.全面的巧妙解决PDF文档的工具,它将泰比的光学字符识别(OCR)技术和Adobe®PDF技术完美结合,以确保实现便捷地处理任何类型的PDF文件, ...
- MicroRNA in Control of Gene Expression: An Overview of Nuclear Functions 微RNA控制基因表达:核功能概述
MicroRNA in Control of Gene Expression:An Overview of Nuclear Functions微RNA控制基因表达:核功能概述 抽象:小的非编码RNA( ...
- Photon——Feature Overview 功能概述
Photon——Feature Overview 功能概述 Feature Overview 功能概述 Photon is a real-time socket server and ...
随机推荐
- 向 wmware workstation pro 的 MS-DOS 操作系统中导入文件(masm debug edit)(详细图解)
一般MS-DOS中不包含masm.debug和edit这三个程序. 我们想要把这几个文件导入到wmware workstation pro中的DOS虚拟机中怎么做呢? [尝试] 1.我试过用共享文件夹 ...
- lftp简单使用
连接服务器: lftp -e "参数;" "username":"password"@"ip" -p port lftp ...
- 函数式编程-只用"表达式",不用"语句"()
把函数当作普通的运算符使用. 2. 只用"表达式",不用"语句"() "表达式"(expression)是一个单纯的运算过程,总是有返回值: ...
- js的onclick和jq的click以及on和bind的区别
onclick和click,只能静态绑定点击事件:bind的可以一次绑定多个事件(click/onmouseover等):on可以动态的绑定事件,当页面加载完成调用on即可
- django框架-DRF工程之权限功能
1.相对于flask,原生而言django,DRF做的则更加的合理化,想要给予用户相应的权限,首先需要在settings中进行配置 REST_FRAMEWORK = { 'DEAFAULT_PERMI ...
- 【BZOJ2006】【NOI2010】超级钢琴
题意: Description 小Z是一个小有名气的钢琴家,最近C博士送给了小Z一架超级钢琴,小Z希望能够用这架钢琴创作出世界上最美妙的音乐. 这架超级钢琴可以弹奏出n个音符,编号为1至n.第i个音符 ...
- 小程序QQ版表情解析组件
代码片段: [https://developers.weixin.qq.com/s/KLaD5MmD7V45) GitHub: https://github.com/WozHuang/Miniprog ...
- luogu P2117 小Z的矩阵(结论题)
题意 题解 这题有点水. 我们发现对答案有贡献的实际上只有左上到右下的对角线上的数. 因为不在这条对角线上的乘积都要计算两遍,然后%2就都没了... 然后就做完了. #include<iostr ...
- vue之computed和watch
计算属性 computed 侦听器or观察者 watch 一直以来对computed和watch一知半解,用的时候就迷迷糊糊的,今天仔细看了看文档,突然茅塞顿开,原来就是这么简单啊: computed ...
- Linux用户与用户组
Linux用户与用户组 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户的账号一方面可以帮助系统管 ...