本帖最后由 XinLiYF 于 2018-4-22 21:58 编辑
% C( M) [* P; i" C* j6 M
k: q2 D2 R6 a( j3 QCMSIS-RTOS2 文档
4 C R* T' A" l! I' N, R, q
5 t" T. M. q# a" b v8 yCMSIS-RTOS API Version 2 (CMSIS-RTOS2) 是基于 Arm® Cortex®-M 处理器的通用 RTOS 接口。它为需要 RTOS 功能的软件提供了一个标准化的 API ,并为用户和软件行业带来了重大的好处: 7 K6 H; P a: D6 C# h1 J* {2 w
- CMSIS-RTOS2 提供了许多应用程序所需的基本功能。
- CMIS-RSOT2 的统一特征集减少了学习的工作量并简化了软件组件的共享。
- 使用 CMSIS-RTOS2 的中间件组件是 RTOS 不可知的,并且更容易适应。
- CMSIS-RTOS2 的标准项目模板可以免费提供 CMSIS-RTOS2 的实现。8 |; w* h- T- O" ?- u# }
: I2 h( R/ l7 n- o# \1 L
注意) i! E* {& t. E5 \- c
CMSIS-RTOS API Version 2 定义了最小功能集。RTOS 供应商可以提供具有扩展功能的实现。
* u0 ~/ q$ \* YCMSIS-RTOS2 管理微控制器系统的资源,并实现并行运行的并行线程的概念。 0 Q1 i% c4 s+ z) ?! Q
应用程序通常需要几个并发活动 CMSIS-RTOS2 可以在需要时管理多个并发活动。每个活动都有一个独立的线程执行特定的任务,这简化了整个程序结构。CMSIS-RTOS2 系统具有可扩展性,可以在以后轻松添加其他线程。线程的优先级允许更快地执行用户应用程序中时间关键的部分。 M, |4 f4 R2 Z; x6 {! h! |
CMSIS-RTOS2 提供许多实时应用程序所需的服务,例如定时器功能的定期激活,存储器管理以及具有时间限制的线程之间的消息交换。 0 I5 Q% {2 _' d1 Q5 E8 h
CMSIS-RTOS2 满足以下新要求:
$ V: G2 F5 u7 [ q- 动态对象创建不再需要静态内存,静态内存缓冲区现在是可选的。
- 支持 Armv8-M 体系结构,提供安全和非安全的代码执行状态。
- 多核系统中消息传递的规定。
- 全面支持 C++ 运行时环境。
- C 接口, 在 ABI 兼容编译器中是二进制兼容的。8 I) [ W& e$ E1 f
9 C! X! r" w3 d9 ~
作为这些要求的结果,CMSIS-RTOS2 有以下基本修改: & g7 d; I$ r$ x @
- 函数 osXxxxNew 替换 osXxxxCreate; 函数 osXxxxNew 和 osXxxxDelete 创建并销毁对象。
- C 函数 main 不再作为线程启动(这是 CMSIS-RTOS v1 中的可选功能)。
- 返回 osEvent 的函数已被替换。/ o( t9 B5 i. m
q& M; ~4 S' qCMSIS-RTOS2 为 CMSIS-RTOS API v1 提供翻译层。可以在同一个应用程序中混合 CMSIS-RTOS API v2 和 CMSIS-RTOS API v1。随着时间的推移,您可能会迁移到新的API,如从 API v1迁移到 API v2 所述。
7 `+ i; c2 |$ K' `, XCMSIS-RTOS2 不符合 POSIX 标准,但具有启用 C++11 / C++14 接口的条款。
9 l' w9 b- M# k( F+ R- ^以下各节提供了有关 CMSIS-RTOS2 和 RTX 参考实现的更多详细信息。 9 X/ e! s! Y+ t6 {3 ?* r! V
- 修订历史记录文档对 CMSIS-RTOS API v2 和 RTX v5 的每个版本进行了更改。
- 通用 RTOS 接口提供了有关 CMSIS-RTOS API v2 的概述。
- 功能概述列出了 CMSIS-RTOS2 API 函数和头文件 cmsis_os2.h 。
- RTOS 验证描述了公开可用的验证套件。
- 从 API v1 迁移到 API v2 显示了如何在现有项目中使用 CMSIS-RTOS2,并列出了 CMSIS-RTOS v1 的功能差异。
- RTX v5 实施提供了关于 RTX v5 的操作和使用的一般信息。
; H, ~2 t1 ?2 \: J2 i7 o5 n, T
& N3 j0 w8 s9 ^ARM::CMSIS 包中的 CMSIS-RTOS2) d, `4 R% a( c7 \: G" L
0 K6 \. m% Q: Q* Z/ R& m& I; X! Z
以下与 CMSIS-RTOS2 相关的文件存在于 ARM :: CMSIS 包目录中: : p# H; d: [- v1 u6 x
文件夹# U2 c( S# |) j5 n, X! K! ]8 f: D
| 内容
$ B* \( L. Y& M+ ]+ z6 E | CMSIS/Documentation/RTOS24 K" M$ ~; a/ P$ p
| 本文档) M+ h& j4 D1 N& ?& ]
| CMSIS/RTOS2/Include
, k! n% Q7 X; e: P. E. | | cmsis_os2.h 头文件( H- p8 z5 \8 u( r
| CMSIS/RTOS2/RTX- N) w6 O1 `; m, V
| 基于 RTX v5 的 CMSIS-RTOS v2 参考实现
7 j$ ]" M2 k2 M( E | CMSIS/RTOS2/Template4 B$ k0 L- r- J6 f9 p/ E7 n/ q
| 与 CMSIS-RTOS v1 的兼容层
2 T9 k6 a/ ?: m: o |
$ g ]4 u9 S5 E+ P o# l. n4 S归档链接:2 T9 ^( ] N" E" Y4 b! Y2 s
CMSIS-RTOS2 文档翻译 之 修订记录# t- E. ~6 Y5 h- T, u. U& W- S( q8 Q3 j
CMSIS-RTOS2 文档翻译 之 通用 RTOS 接口) D8 u" \( @& H5 @
CMSIS-RTOS2 文档翻译 之 功能概述
: C* l8 |4 n) V& G. V4 nCMSIS-RTOS2 文档翻译 之 RTOS 验证 |