本帖最后由 XinLiYF 于 2018-4-22 21:58 编辑
. h" n* C; \, |5 @* |
( g N. I% u# RCMSIS-RTOS2 文档' o4 L% B) B; \* \3 Q6 l- B, O
4 z# u9 }' X6 O2 vCMSIS-RTOS API Version 2 (CMSIS-RTOS2) 是基于 Arm® Cortex®-M 处理器的通用 RTOS 接口。它为需要 RTOS 功能的软件提供了一个标准化的 API ,并为用户和软件行业带来了重大的好处:
0 r: l S5 d) Y8 ]* ~, H- CMSIS-RTOS2 提供了许多应用程序所需的基本功能。
- CMIS-RSOT2 的统一特征集减少了学习的工作量并简化了软件组件的共享。
- 使用 CMSIS-RTOS2 的中间件组件是 RTOS 不可知的,并且更容易适应。
- CMSIS-RTOS2 的标准项目模板可以免费提供 CMSIS-RTOS2 的实现。
k) @2 U" e4 l( j9 y
' Y4 f x# _7 m+ j注意, ^7 _) ^9 j) {; O u0 d" [% X
CMSIS-RTOS API Version 2 定义了最小功能集。RTOS 供应商可以提供具有扩展功能的实现。
! M' ~7 \1 Z6 R. L6 SCMSIS-RTOS2 管理微控制器系统的资源,并实现并行运行的并行线程的概念。 # Q( ] q: E9 T6 o# {1 C6 `
应用程序通常需要几个并发活动 CMSIS-RTOS2 可以在需要时管理多个并发活动。每个活动都有一个独立的线程执行特定的任务,这简化了整个程序结构。CMSIS-RTOS2 系统具有可扩展性,可以在以后轻松添加其他线程。线程的优先级允许更快地执行用户应用程序中时间关键的部分。
9 D6 Q0 Q# q F! aCMSIS-RTOS2 提供许多实时应用程序所需的服务,例如定时器功能的定期激活,存储器管理以及具有时间限制的线程之间的消息交换。
$ T; _9 E7 ]7 s; s/ ZCMSIS-RTOS2 满足以下新要求:
$ Z0 G" A) \+ R f q2 ]* X8 A- 动态对象创建不再需要静态内存,静态内存缓冲区现在是可选的。
- 支持 Armv8-M 体系结构,提供安全和非安全的代码执行状态。
- 多核系统中消息传递的规定。
- 全面支持 C++ 运行时环境。
- C 接口, 在 ABI 兼容编译器中是二进制兼容的。
3 ` s. D- e, p8 c; _6 D T+ G5 u4 b , X3 V4 u: d' U5 I7 h l9 d$ J
作为这些要求的结果,CMSIS-RTOS2 有以下基本修改: ! G' w4 K3 N% i# w
- 函数 osXxxxNew 替换 osXxxxCreate; 函数 osXxxxNew 和 osXxxxDelete 创建并销毁对象。
- C 函数 main 不再作为线程启动(这是 CMSIS-RTOS v1 中的可选功能)。
- 返回 osEvent 的函数已被替换。" Q* [1 f* s3 }$ G5 x9 B
8 \1 s( l5 P( _) n% ZCMSIS-RTOS2 为 CMSIS-RTOS API v1 提供翻译层。可以在同一个应用程序中混合 CMSIS-RTOS API v2 和 CMSIS-RTOS API v1。随着时间的推移,您可能会迁移到新的API,如从 API v1迁移到 API v2 所述。 : s# a9 ~, k% s% H$ f: J3 w* l# z- ~$ s
CMSIS-RTOS2 不符合 POSIX 标准,但具有启用 C++11 / C++14 接口的条款。
) c8 T! L7 B9 W' [以下各节提供了有关 CMSIS-RTOS2 和 RTX 参考实现的更多详细信息。
3 q9 E4 ], b3 j5 b3 R- 修订历史记录文档对 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 的操作和使用的一般信息。" K [, o' h2 f
# \( M3 P. @% \" x; k1 k
ARM::CMSIS 包中的 CMSIS-RTOS2" K4 `$ h; ~" T% d; w9 D
* P- W6 w0 ~" y( s, ~
以下与 CMSIS-RTOS2 相关的文件存在于 ARM :: CMSIS 包目录中: # G- X( C3 L1 L% Y, u, |# t
文件夹' W; M" C! X7 Z6 Z; ~7 y
| 内容% S; O$ ^- E% y3 _* Z( w1 x
| CMSIS/Documentation/RTOS2
8 L: g1 u* Y8 \9 c | 本文档
8 \) y& o3 e+ U | CMSIS/RTOS2/Include$ E( s; u* d6 Q! Z9 W9 F/ d) {! ^, ~
| cmsis_os2.h 头文件
) K/ O5 r, h% M+ l, e, K% V- v4 T | CMSIS/RTOS2/RTX
6 k$ v1 {1 H) I% Q; B6 v1 x# J | 基于 RTX v5 的 CMSIS-RTOS v2 参考实现
1 |5 Z: R( `" W p6 \% S, @ | CMSIS/RTOS2/Template
; K3 S7 `3 M1 V/ q- s& P( ] | 与 CMSIS-RTOS v1 的兼容层6 x; ^, w7 r5 q, C# _% R
|
1 O' \# z: r6 w% c归档链接:
. E6 l' J3 W3 c$ I6 ], O# ICMSIS-RTOS2 文档翻译 之 修订记录
. c: Y' N' M1 S6 T5 E" j" d3 `& hCMSIS-RTOS2 文档翻译 之 通用 RTOS 接口
4 F3 p; n- D4 G/ E; _CMSIS-RTOS2 文档翻译 之 功能概述
9 x3 C) c# R, r6 [5 HCMSIS-RTOS2 文档翻译 之 RTOS 验证 |