聊聊CMSIS-RTOS是什么东东

起因:发布自己翻译用的CMSIS_RTOS_Tutorial后,陆续收到网友关于“CMSIS-RTOS是干么的?”之类的问题,再次统一回复。

众所周知,实时操作系统是嵌入式领域的基石。而可选的嵌入式操作系统有很多,如FREE-RTOS、RTX、uc-os、vcWork、uLinux等。

CMSIS-RTOS是ARM公司为统一操作系统、降低嵌入式门槛而发布的操作系统标准软件接口。通俗讲,CMSIS-RTOS将操作系统(不管是FREE-RTOS还是RTX等)屏蔽起来,然后提供CMSIS-RTOS接口函数给最终使用者调用。如此以来,最终使用者只需要学习CMSIS-ROTS即可,从而降低学习门槛。(不过,目前只有FREE-RTOS和RTX能够支持CMSIS-RTOS)。

CMSIS-RTOS 是实时操作系统的通用 API。它提供了标准化的编程接口,它只是封装了RTX/embos,以后还可能封装freeRTOS(已经封装了~~~),uc/os(好像也已经封装了)等等第三方OS

CMSIS RTOS是ARM现在热推的物联网操作系统mbedOS的基础,搞懂这个RTOS API,mbedOS更容易上手.集成在keil中,没有所谓移植概念

ARM官方《CMSIS-RTOS教程》http://blog.csdn.net/ichamber/article/details/53116253可移植到很多,RTOS,使软件模板、中间件、库及其它组件能工作于支持的 RTOS 系统。

此模块由cmsis_os.c/h文件表示,位于“Middlewares\Third_Party\FreeRTOS\CMSIS_RTOS”
下.

ST给FreeRTOS封装了一层是为了符合CMSIS-RTOS API

转载:https://www.cnblogs.com/horal/p/7991048.html

https://www.cnblogs.com/jieruishu/p/7018054.html

CMSIS的简介:https://www.cnblogs.com/dpc525/p/4663039.html

Cortex微控制器软件接口标准(Cortex Microcontroller Software Interface Standard)是ARM和一些编译器厂家以及半导体厂家共同遵循的一套标准,是由ARM专门针对CORTEX-M系列提出的标准。在该标准的约定下,ARM和芯片厂商会提供一些通用的API接口来访问Cortex内核以及一些专用外设,以减少更换芯片以及开发工具等移植工作所带来的金钱以及时间上的消耗。只要都是基于Cortex的芯片,代码均是可以复用的。CMSIS是 Cortex-M 处理器系列的与供应商无关的硬件抽象层。使用 CMSIS可以为处理器和外设实现一致且简单的软件接口,从而简化软件的重用、缩短微控制器新开发人员的学习过程,并缩短新设备的上市时间。

CMSIS 包含以下组件:

CMSIS-CORE:提供与 Cortex-M0、Cortex-M3、Cortex-M4、SC000 和 SC300 处理器与外围寄存器之间的接口。

CMSIS-DSP:包含以定点(分数 q7、q15、q31)和单精度浮点(32 位)实现的 60 多种函数的 DSP 库。

CMSIS-RTOS API:用于线程控制、资源和时间管理的实时操作系统的标准化编程接口。

CMSIS-SVD:包含完整微控制器系统(包括外设)的程序员视图的系统视图描述 XML 文件。

原文地址:https://www.cnblogs.com/CodeWorkerLiMing/p/12015937.html

时间: 2024-11-10 11:55:15

聊聊CMSIS-RTOS是什么东东的相关文章

JDK8的随笔(01)_Lambda表达式是个神马东东,初尝禁果

Lambda表达式 先写写背景和最基本的东东,泛型加入和各种循环的复杂模式后面再慢慢深入. 需要看JDK8的背景 虽然网上的介绍很多,但是不如自己读一下document后来得正宗. 说一下缘由,突发的这个项目客户貌似是个暴发户,发疯什么都要用最新的,JDK8是否稳定也不管,各种要求最新.Lambda语法全上,各种jdk8最新的东西全往上搞,我靠...WS还有其他的容器是否对8的支持很好也不知道....不过,这也不是坏事,学呗~~~~ 等jdk出到12的时候再回头看看也挺有意思. 本文也是以JDK

C语言判别输入的东东

梗概:现在很多用C语言写出来的作业,都是用户输入后,电脑对应操作的.其实这样有没有漏洞呢? 这样的管理系统,相信大家也不陌生,我们这里不是谈它的功能和怎样实现..我们就谈谈最后一行.[输入序号].其实很简单,switch语句,0-6中用case包括就OK了..最后来个default,一切不就好了吗? 是的,很多人会对着软件提示按..但我假设一下:电脑键盘上那么多按钮,一不小心按了字母怎么办?哈哈..很多人会说:那就default语句执行咯.但事实上是不是呢? 我亲自试了试,吓尿了.你猜怎样?整个

C语言判别输入东东

梗概:现在很多用C语言写出来的作业,都是用户输入后,电脑对应操作的.其实这样有没有漏洞呢? 这样的管理系统,相信大家也不陌生,我们这里不是谈它的功能和怎样实现..我们就谈谈最后一行.[输入序号].其实很简单,switch语句,0-6中用case包括就OK了..最后来个default,一切不就好了吗? 是的,很多人会对着软件提示按..但我假设一下:电脑键盘上那么多按钮,一不小心按了字母怎么办?哈哈..很多人会说:那就default语句执行咯.但事实上是不是呢? 我亲自试了试,吓尿了.你猜怎样?整个

【UVA 1151】 Buy or Build (有某些特别的东东的最小生成树)

[题意] 平面上有n个点(1<=N<=1000),你的任务是让所有n个点连通,为此,你可以新建一些边,费用等于两个端点的欧几里得距离的平方. 另外还有q(0<=q<=8)个套餐,可以购买,如果你购买了第i个套餐,该套餐中的所有结点将变得相互连通,第i个套餐的花费为ci. 求最小花费. Input (1 ≤ n ≤ 1000)  (0 ≤ q ≤ 8). The second integer is the the cost of the subnetwork(not greater

ARM Cortex-M3 异常优先级以及CMSIS RTOS RTX的中断优先级

通常异常包括一些系统异常,以及中断. 异常类型 Cortex-M3处理器支持多种类型的异常: RESET, NMI, HardWare Fault; PSV,SVC等可编程中断: 其他的可编程中断,例如timer,GPIO等. 其中第1类异常的优先级是固定,不可改变的.其他都是可以修改的. Cortex-M3处理器提供了PRIMASK选项,用来屏蔽所有可编程的中断:提供了FAULTMASK来屏蔽HardWare Fault和所有可屏蔽中断. 异常优先级 Cortex-M3处理器支持NVIC的中断

SQLSERVER 里经常看到的CACHE STORES是神马东东?

SQLSERVER 里经常看到的CACHE STORES是神马东东? 当我们在SSMS里执行下面的SQL语句清空SQLSERVER的缓存的时候,我们会在SQL ERRORLOG里看到一些信息 DBCC FREEPROCCACHE 大家可以看到cachestore.object plans.sql plan.bound tress等名词 cachestore flush for the 'Object Plans' cachestore (part of plan cache) cachestor

(转)loff_t *ppos是什么东东

ssize_t generic_file_read(struct file * filp, char * buf, size_t count, loff_t *ppos) 这是一个文件读函数 我们很容易看出输入参数中 filp 是文件 buf 是文件要读到什么地方去,用户buf count是要读多少东西 那么ppos是什么东东,是当前文件的偏移量嘛?? 但是当前文件的偏移量在filp中有定义呀.struct file { struct list_head f_list; struct dentr

一个考试模拟界面——先记录一下下ui上的东东

先上图,有图有真相 要记录的有以下几点: (1)如何给控件widget加背景图片 (2)如何改变控件中的字体大小,如何让界面中字体都改变 (3)如何构造除了这么漂亮的布局呀,这一点上还是很骄傲的!嘿嘿... (4)在python2.7编写出的界面上显示中文 Part1: 还是先写如何布局吧..按照时间顺序来.. 在pyside中,关于layout,已经接触的有:QtGui.QVBoxLayout(竖直向下的),QtGui.QHBoxLayout(横向的),这两天接触到了一个QtGui.QGrid

CMSIS RTOS RTX License

最近在开发项目的过程有用到CMSIS RTOS RTX RTOS,需要关注他的授权license. 注意,我使用的是CMSIS RTOS RTX,和Keil RTX. 在CMSIS RTOS RTX的源码中,看到这应该是基于BSD的license,使用起来就放心了. 而Keil RTX就不一样了,他是捆绑在Keil MDK 专业版里面的,包在MDK license一起售卖,一年的license,也就是每年收一次钱.