本帖最后由 XinLiYF 于 2018-4-22 21:58 编辑
3 o+ z7 |& f! [. f9 }7 E4 K; l( A @$ Z7 {
CMSIS-RTOS2 文档2 i' ^7 H$ [2 ?3 O
# X. T$ X) S. i( t. m3 m# R3 z
CMSIS-RTOS API Version 2 (CMSIS-RTOS2) 是基于 Arm® Cortex®-M 处理器的通用 RTOS 接口。它为需要 RTOS 功能的软件提供了一个标准化的 API ,并为用户和软件行业带来了重大的好处:
0 b- y7 m- K B9 A! G8 M, f( ~- CMSIS-RTOS2 提供了许多应用程序所需的基本功能。
- CMIS-RSOT2 的统一特征集减少了学习的工作量并简化了软件组件的共享。
- 使用 CMSIS-RTOS2 的中间件组件是 RTOS 不可知的,并且更容易适应。
- CMSIS-RTOS2 的标准项目模板可以免费提供 CMSIS-RTOS2 的实现。" D. u H8 X8 \$ v/ b- f( R
( [2 k* j& F& s* @- B, ^注意3 K9 n3 `( _8 Z. |; C
CMSIS-RTOS API Version 2 定义了最小功能集。RTOS 供应商可以提供具有扩展功能的实现。
, J+ g0 K% K4 F( A: l# f8 H" BCMSIS-RTOS2 管理微控制器系统的资源,并实现并行运行的并行线程的概念。 9 w# S S& d2 C1 Q) r% y @
应用程序通常需要几个并发活动 CMSIS-RTOS2 可以在需要时管理多个并发活动。每个活动都有一个独立的线程执行特定的任务,这简化了整个程序结构。CMSIS-RTOS2 系统具有可扩展性,可以在以后轻松添加其他线程。线程的优先级允许更快地执行用户应用程序中时间关键的部分。
+ G* F# |, [/ oCMSIS-RTOS2 提供许多实时应用程序所需的服务,例如定时器功能的定期激活,存储器管理以及具有时间限制的线程之间的消息交换。 ! c. ~2 K' X- P8 k8 ^# \
CMSIS-RTOS2 满足以下新要求:
* F' u) ^8 Z- ?, t' q- 动态对象创建不再需要静态内存,静态内存缓冲区现在是可选的。
- 支持 Armv8-M 体系结构,提供安全和非安全的代码执行状态。
- 多核系统中消息传递的规定。
- 全面支持 C++ 运行时环境。
- C 接口, 在 ABI 兼容编译器中是二进制兼容的。" w+ m9 V; A7 A/ t. R
( I- l" n0 d) c/ U! h3 d( |
作为这些要求的结果,CMSIS-RTOS2 有以下基本修改:
+ U* u1 j& I9 g- 函数 osXxxxNew 替换 osXxxxCreate; 函数 osXxxxNew 和 osXxxxDelete 创建并销毁对象。
- C 函数 main 不再作为线程启动(这是 CMSIS-RTOS v1 中的可选功能)。
- 返回 osEvent 的函数已被替换。5 c0 }; y$ s8 x0 m, s: ~* y8 P4 _
8 S9 r* P9 w5 U+ M
CMSIS-RTOS2 为 CMSIS-RTOS API v1 提供翻译层。可以在同一个应用程序中混合 CMSIS-RTOS API v2 和 CMSIS-RTOS API v1。随着时间的推移,您可能会迁移到新的API,如从 API v1迁移到 API v2 所述。 6 A! G0 r2 n$ {# l! g4 ^
CMSIS-RTOS2 不符合 POSIX 标准,但具有启用 C++11 / C++14 接口的条款。
8 x! r$ h: _& U以下各节提供了有关 CMSIS-RTOS2 和 RTX 参考实现的更多详细信息。 7 D$ {0 A) S+ @
- 修订历史记录文档对 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 的操作和使用的一般信息。8 T2 i1 I F- w
" m8 R- U1 F, w4 S
ARM::CMSIS 包中的 CMSIS-RTOS2
/ y0 r' E* ~2 n% k1 ?/ C2 }& S. C2 N$ G ?1 p
以下与 CMSIS-RTOS2 相关的文件存在于 ARM :: CMSIS 包目录中: ( C k. C5 ~+ s S& C* j* A* [; R0 _
文件夹
: s3 [* H' S! K5 `, ^8 a | 内容' t$ M8 Q' T4 F# M/ `5 a
| CMSIS/Documentation/RTOS2, Z% ^' W/ h8 o) M
| 本文档5 Q8 \) F y/ L: _
| CMSIS/RTOS2/Include* r1 C" i: k4 K9 _! |; { Y
| cmsis_os2.h 头文件
; K# ]2 D! s( N- }' \: E$ a | CMSIS/RTOS2/RTX
* \' k' K3 P3 \4 X+ B | 基于 RTX v5 的 CMSIS-RTOS v2 参考实现
% G( W, l( l. n: Y& ? | CMSIS/RTOS2/Template
4 Z5 a% x- }: Q7 L I | 与 CMSIS-RTOS v1 的兼容层% P: n6 I3 K" E( \% F+ V
| 5 ^( ?( x2 G# T7 Q) Z
归档链接:
" n- w# x. [( j x% A, Z2 ?CMSIS-RTOS2 文档翻译 之 修订记录
5 X9 A* W% Z6 K, G6 WCMSIS-RTOS2 文档翻译 之 通用 RTOS 接口
8 C5 N0 r9 v8 e1 C8 Y/ t( QCMSIS-RTOS2 文档翻译 之 功能概述
0 ~; P( d q0 C1 LCMSIS-RTOS2 文档翻译 之 RTOS 验证 |