RTOS 验证
Arm 为 CMSIS-RTOS 验证提供了一个软件包。ARM :: CMSIS-RTOS_Validation 包包含以下内容:
- CMSIS-RTOS 验证套件的源代码以及配置文件。
- CMSIS-RTOS 验证套件的文档。
- 使用仿真显示 CMSIS-RTOS 验证套件使用情况的示例。
-
注意
- 目前,测试套件的公开版本仅适用于 CMSIS-RTOS v1 API 。
CMSIS-RTOS 验证套件对各种 RTOS 功能进行通用验证。测试用例验证 ISR 的功能行为,测试无效参数和呼叫管理功能。
可以使用当前版本测试以下 CMSIS-RTOS 功能:
- Thread : 创建多个线程,终止,重新启动,产出,改变优先级
- Timer : 创建定期和单次定时器
- GenWait : 调用通用等待函数(osDelay 和 osWait)
- WaitFunc : 测量等待滴答(延迟,邮件,消息,互斥量,信号量,信号)
此外,还可以测试以下线程间通信功能:
- Signal : 验证信号事件
- Memory Pool : 验证内存分配
- Message Queue : 交换线程之间的消息
- Mail Queue : 交换线程之间的数据
- Mutex : 同步资源访问
- Semaphore : 访问共享资源
RTOS 验证输出可以打印到控制台,通过 ITM printf 输出或输出到内存缓冲区。
样品测试输出
CMSIS-RTOS Test Suite Oct 21 2015 16:39:16 TEST 01: TC_ThreadCreate PASSED TEST 02: TC_ThreadMultiInstance PASSED TEST 03: TC_ThreadTerminate PASSED : : TEST 08: TC_ThreadChainedCreate PASSED TEST 09: TC_ThreadYield NOT EXECUTED TEST 10: TC_ThreadParam PASSED : : TEST 60: TC_MailFromISRToThread PASSED Test Summary: 60 Tests, 59 Executed, 59 Passed, 0 Failed, 0 Warnings. Test Result: PASSED