POSIX 与 CMSIS 标准

3 篇文章 0 订阅
2 篇文章 0 订阅

随着5G和智能化的来临,物联网(IoT)的发展也变得更加快速。当前的物联网领域已经形成了庞大的生态系统,市场上的微控制器(MCU)供应商和嵌入式操作系统(一般也是实时操作系统)也多达几十个,开发者面对的嵌入式软件工程越发复杂。为减少开发工作量并降低产品存在缺陷的风险,软件重用变得越来越重要。因此各标准组织和相关利益厂商,都在积极制定和推动软件接口标准。
在这里插入图片描述

和操作系统(OS)相关的一个重要标准是POSIX(Portable Operating System Interface of UNIX),表示可移植操作系统接口。虽然POSIX中的X代表的是UNIX,但其实POSIX并不局限于UNIX,许多其它的OS也可以符合POSIX标准。

POSIX是IEEE为在各种OS上运行的软件而定义的一组API接口标准,目标是获得源代码级别的软件可移植性。也就是说,在一个符合POSIX标准的OS上开发的应用程序,在其它的POSIX操作系统上无需修改也可以直接编译运行。

LiteOS作为一款嵌入式操作系统,必须要考虑软件的可移植性,有效降低开发者的开发难度。当前LiteOS已经支持100+个POSIX标准接口,涵盖了一些常用的基本接口,包括线程操作(比如线程同步、线程调度、管理线程属性等)、消息队列操作、软件定时器操作、socket通信操作、文件系统类操作等等。感兴趣的话,可以去源码lib/huawei_libc下面查看。

除了POSIX标准,在物联网领域还有一个CMSIS(Cortex Microcontroller Software Interface Standard)标准,它是ARM同各个微控制器供应商、工具供应商和软件解决方案一起开发的Cortex微控制器软件接口标准。它使得微控制器和软件供应商可以使用一致的软件结构来开发Cortex微控制器的软件。

CMSIS-RTOS是CMSIS的一部分,它本身是一种API规范,各厂商可以基于CMSIS-RTOS构建自己的实时操作系统(RTOS)。由于基于CMSIS-RTOS的API是标准化的,所以基于这些API开发的应用软件,不需要进行额外的移植开发工作,就可跑在任何支持CMSIS-RTOS的OS上。随着基于CMSIS-RTOS的中间件越来越多,支持CMSIS-RTOS后的OS也会因此获得更多的中间件。LiteOS基于CMSIS-RTOS API v1和v2,对自己的API进行了封装,可以在源码目录compat/cmsis下看到对CMSIS-RTOS API v1和v2的支持。
V1和V2版本接口层级的差异见:https://www.keil.com/pack/doc/CMSIS/RTOS2/html/os2MigrationFunctions.html
推荐使用新版本(cmsis v2)

参考:https://bbs.huaweicloud.com/forum/thread-65163-1-1.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值