CMSIS-RTOS2 文档翻译
CMSIS-RTOS API v2 (CMSIS-RTOS2) 是基于 Arm® Cortex®-M 处理器的通用 RTOS 接口。
XinLiBK
记录学习和工作~
展开
-
CMSIS-RTOS2 文档翻译 之 简介
CMSIS-RTOS2 文档 CMSIS-RTOS API Version 2 (CMSIS-RTOS2) 是基于 Arm® Cortex®-M 处理器的通用 RTOS 接口。它为需要 RTOS 功能的软件提供了一个标准化的 API ,并为用户和软件行业带来了重大的好处:CMSIS-RTOS2 提供了许多应用程序所需的基本功能。CMIS-RSOT2 的统一特征集减少了学习的工作量并简化了软件组件...翻译 2018-04-20 23:21:03 · 4577 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 修订记录
修订记录 CMSIS-RTOS API 版本 2版本描述V2.1.2允许从中断服务程序中调用的其他功能:osKernelGetInfo, osKernelGetState V2.1.1允许从中断服务程序中调用的其他功能:osKernelGetTickCount, osKernelGetTickFreq将内核刻度类型更改为 uint32_t :更新: osKernelGetTickCount,...翻译 2018-04-21 00:13:39 · 1286 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 通用 RTOS 接口
通用 RTOS 接口 CMSIS-RTOS2 是一个通用的 API ,不受底层 RTOS 内核的影响。应用程序员在用户代码中调用 CMSIS-RTOS2 API 函数以确保从一个 RTOS 到另一个 RTOS 的最大可移植性。使用 CMSIS-RTOS2 API 的中间件可以避免不必要的移植工作。CMSIS-RTOS API 结构 典型的 CMSIS-RTOS2 API 实现与现有的实时内核接口...翻译 2018-04-21 15:39:40 · 8494 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 功能概述
功能概述 CMSIS-RTOS v2 提供了多种 API 接口:CMSIS-RTOS2 是支持动态对象创建和 Armv8-M(Arm Cortex-M23 和 Cortex-M33)的新 C 函数 API 。CMSIS-RTOS C API v1 是与 CMSIS-RTOS v1 向后兼容的 C 函数 API 。CMSIS-RTOS C++ API 是一个 C++ 类函数 API 。可以在同一应...翻译 2018-04-22 14:20:16 · 3448 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 RTOS 验证
RTOS 验证 Arm 为 CMSIS-RTOS 验证提供了一个软件包。ARM :: CMSIS-RTOS_Validation 包包含以下内容:CMSIS-RTOS 验证套件的源代码以及配置文件。CMSIS-RTOS 验证套件的文档。使用仿真显示 CMSIS-RTOS 验证套件使用情况的示例。注意目前,测试套件的公开版本仅适用于 CMSIS-RTOS v1 API 。CMSIS-RTOS 验...翻译 2018-04-22 21:50:19 · 1237 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 从 API v1 迁移到 API v2
从 API v1 迁移到 API v2 要使用 API 版本 2 功能,请遵循以下步骤中描述的步骤:RTX 迁移指南 - 从 API 版本 1 迁移到 API 版本 2 的步骤详细的 API 函数差异 - 功能差异列表RTX 迁移指南 RTX5 提供两个 API 层:CMSIS-RTOS v1 和 CMSIS-RTOS v2 。这允许从 v1 到 v2 的梯度转换。修改的 v1 头文件和特殊的...翻译 2018-04-25 15:25:43 · 8443 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 RTX v5 实现(创建一个 RTX5 项目)
RTX v5 实现 Keil RTX 版本 5(RTX5)实现 CMSIS-RTOS2 作为基于 Arm Cortex-M 处理器的设备的本地 RTOS 接口。提供了到 CMSIS-RTOS API v1 的翻译层。因此,RTX5 可以用于先前基于 RTX 版本 4 和 CMSIS-RTOS 版本 1 的应用程序,而且花费最少。以下各节提供了更多详细信息:创建一个 RTX5 项目 介绍如何在 K...翻译 2018-04-25 16:32:32 · 6177 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 RTX v5 实现(操作理论)
操作理论 内核的许多方面都是可配置的,并在适用的情况下提及配置选项。系统启动由于 main 不再是一个线程,RTX5 在到达 main 之前不会干扰系统启动。一旦执行到达 main(),建议初始化硬件并启动内核。这也反映在随 RTX5 组件提供的用户代码模板文件 “CMSIS-RTOS2” 主 “功能” 中。你的应用程序的 main()应该按给定的顺序至少实现以下内容:硬件的初始化和配置,包括...翻译 2018-04-25 19:51:11 · 3102 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 RTX v5 实现(配置 RTX v5)
配置 RTX v5 文件 “RTX_Config.h” 定义了 CMSIS-RTOS RTX 的配置参数,并且必须是使用 CMSIS-RTOS RTX 内核的每个项目的一部分。以下部分详细介绍了配置选项:系统配置涵盖全局内存池的系统范围设置,节拍频率,ISR 事件缓冲区和循环线程切换。线程配置提供了几个参数来配置线程管理功能。定时器配置提供了几个参数来配置定时器管理功能。事件标志配置提供了几个参...翻译 2018-04-26 16:12:31 · 3143 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 RTX v5 实现(构建 RTX5 库)
构建 RTX5 库 CMSIS 包包含一个用于构建完整 RTX5 库的 μVision 项目。该项目也可以用作参考,用于使用您选择的工具链构建 RTX5 库。在 μVision 中从包文件夹 CMSIS/RTOS2/RTX/Library/ARM/MDK 中打开项目 RTX_CM.uvprojx 。选择与您的设备处理器核心相匹配的项目目标。该项目为 RTX5 支持的所有支持的 Cortex-M...翻译 2018-04-26 16:24:04 · 1312 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 RTX v5 实现(目录结构和文件概述)
目录结构和文件概述 以下部分概述了目录结构以及与 CMSIS-RTOS RTX v5 用户相关的文件。以下目录参考位于 CMSIS 包安装路径下方,例如 ARM/CMSIS/version/CMSIS/RTOS2 。RTX v5 目录结构CMSIS-RTOS RTX v5 在源代码中提供,并提供了几个示例。目录内容IncludeCMSIS-RTOS API v2 的头文件。cmsis_os2....翻译 2018-04-26 16:57:42 · 997 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 RTX v5 实现(技术数据)
技术数据 支持的工具链Keil RTX5 是使用常用工具链和开发环境开发和测试的。Arm 编译器(Arm/Keil MDK,uVision5)RTX5 的主要部分是使用 Arm 编译器和 Arm/Keil MDK 开发和优化的。当前版本已经过以下版本的测试:Arm Compiler 5.06 Update 6 Arm Compiler 6.6.2 (长期维护) Arm Compiler 6.9...翻译 2018-04-26 17:20:20 · 1557 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 RTX v5 实现(MISRA C:2012 规范)
MISRA C:2012 规范 RTX5 C 源文件使用 MISRA C:2012 指南作为基础编码标准。对于 MISRA 验证,PC-lint V9.00L 与 Arm Compiler V6.9 的配置一起使用。PC-Lint 验证设置是项目文件的一部分。\CMSIS\RTOS2\RTX\Library\ARM\MDK\RTX_CM.uvprojx 如下所示。有关更多信息,请参阅设置 PC...翻译 2018-04-27 16:03:51 · 2242 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 参考(所有模块的列表)
参考 以下是所有模块的列表:CMSIS-RTOS2 API介绍 CMSIS-RTOS API v2 的 C 函数接口 内存管理关于内存管理可能性的信息 内核信息和控制提供版本/系统信息并启动/控制 RTOS 内核 线程管理定义,创建和控制线程函数 线程标志使用标志同步线程 事件标志使用事件标志同步线程 通用延时函...翻译 2018-04-27 17:41:45 · 923 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 参考(CMSIS-RTOS2 API 之 简介)
CMSIS-RTOS2 API 介绍 CMSIS-RTOS API v2 的 C 函数接口。更多...内容 内存管理 关于内存管理可能性的信息 内核信息和控制 提供版本/系统信息并启动/控制 RTOS 内核。 线程管理 定义,创建和控制线程函数。 线程标志 使用标志同步线程。 事件标志 使用事件标志同步线程。 通用延时函数 等待一段时间。 定时器管理 创建和控制定时器和定时器回调...翻译 2018-04-27 19:33:27 · 2293 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 参考(CMSIS-RTOS2 API 之 内存管理)
内存管理CMSIS-RTOS2 API 关于内存管理可能性的信息。更多...CMSIS-RTOS2 API 提供了两种用户可以选择的内存管理选项。对于对象存储可以使用自动动态分配(完全便携),或者手动用户定义的分配(具体实施)。为了影响内存分配方案,可以根据请求创建的所有 RTOS 对象(即具有 osXxxNew 函数的那些对象)在创建时接受可选的 osXxxAttr_t attr 参数。作为经...翻译 2018-04-27 20:06:11 · 2083 阅读 · 1 评论 -
CMSIS-RTOS2 文档翻译 之 参考(CMSIS-RTOS2 API 之 内核信息和控制)
内核信息和控制CMSIS-RTOS2 API 提供版本/系统信息并启动/控制 RTOS 内核。更多...数据结构struct osVersion_t 版本信息。更多... 枚举enum osKernelState_t { osKernelInactive = 0, osKernelReady = 1, osKernelRunning = 2, osKernelLocked =...翻译 2018-04-27 21:57:50 · 3240 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 参考(CMSIS-RTOS2 API 之 线程管理)
线程管理CMSIS-RTOS2 API 定义,创建和控制线程函数。更多...数据结构struct osThreadAttr_t 线程的属性结构体。更多... 宏定义#define osThreadJoinable 0x00000001U 线程在可连接模式下创建。更多... #define osThreadDetached 0x00000000U 线程以分离模式创建(默认)。更多... ...翻译 2018-04-30 12:57:31 · 6784 阅读 · 3 评论 -
CMSIS-RTOS2 文档翻译 之 参考(CMSIS-RTOS2 API 之 线程标志)
线程标志CMSIS-RTOS2 API 使用标志同步线程。更多...函数uint32_t osThreadFlagsSet (osThreadId_t thread_id, uint32_t flags) 设置线程的指定线程标志。更多... uint32_t osThreadFlagsClear (uint32_t flags) 清除当前运行线程的指定线程标志。更多... uint32_t os...翻译 2018-05-01 12:51:20 · 5417 阅读 · 1 评论 -
CMSIS-RTOS2 文档翻译 之 参考(CMSIS-RTOS2 API 之 事件标志)
事件标志CMSIS-RTOS2 API 使用事件标志同步线程。更多...数据结构struct osEventFlagsAttr_t 事件标志的属性结构体。更多... 类型定义typedef void * osEventFlagsId_t 函数osEventFlagsId_t osEventFlagsNew (const osEventFlagsAttr_t *attr) 创建并初始化事件标志对...翻译 2018-05-01 20:34:31 · 4585 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 参考(CMSIS-RTOS2 API 之 通用等待函数)
通用等待函数CMSIS-RTOS2 API 等待一段时间。更多...函数osStatus_t osDelay (uint32_t ticks) 等待超时(时间延迟)。更多... osStatus_t osDelayUntil (uint32_t ticks) 等到指定的时间。更多... 描述通用的等待函数提供了时间延迟的手段。注意通用等待函数不能从中断服务例程中调用。函数文档 osSt...翻译 2018-05-01 20:59:53 · 1949 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 参考(CMSIS-RTOS2 API 之 定时器管理)
定时器管理CMSIS-RTOS2 API 创建和控制定时器和定时器回调函数。更多...数据结构struct osTimerAttr_t 定时器的属性结构体。更多... 类型定义typedef void * osTimerId_t typedef void(* osTimerFunc_t )(void *argument) 定时器回调函数。更多... 枚举enum osTimerType_t ...翻译 2018-05-01 22:24:39 · 3947 阅读 · 1 评论 -
CMSIS-RTOS2 文档翻译 之 参考(CMSIS-RTOS2 API 之 互斥锁管理)
互斥锁管理CMSIS-RTOS2 API 使用互斥锁(Mutex)同步资源访问。更多...数据结构struct osMutexAttr_t 互斥锁的属性结构体。更多... 宏定义#define osMutexRecursive 0x00000001U 递归互斥锁。更多... #define osMutexPrioInherit 0x00000002U 优先级继承协议。更多... #de...翻译 2018-05-02 21:51:21 · 5820 阅读 · 2 评论 -
CMSIS-RTOS2 文档翻译 之 参考(CMSIS-RTOS2 API 之 信号量)
信号量CMSIS-RTOS2 API 同时从不同线程访问共享资源。更多...数据结构struct osSemaphoreAttr_t 信号量的属性结构体。 更多... 类型定义typedef void * osSemaphoreId_t 函数osSemaphoreId_t osSemaphoreNew (uint32_t max_count, uint32_t initial_count, c...翻译 2018-05-03 22:48:23 · 6048 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 参考(CMSIS-RTOS2 API 之 内存池)
内存池CMSIS-RTOS2 API 管理线程安全的固定大小的动态内存块。更多...数据结构struct osMemoryPoolAttr_t 内存池的属性结构体。更多... 类型定义typedef void * osMemoryPoolId_t 函数osMemoryPoolId_t osMemoryPoolNew (uint32_t block_count, uint32_t block_s...翻译 2018-05-04 20:07:12 · 2398 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 参考(CMSIS-RTOS2 API 之 消息队列)
消息队列CMSIS-RTOS2 API 在类似 FIFO 的操作中交换线程之间的消息。更多...数据结构struct osMessageQueueAttr_t 消息队列的属性结构体。更多... 函数osMessageQueueId_t osMessageQueueNew (uint32_t msg_count, uint32_t msg_size, const osMessageQueueAt...翻译 2018-05-04 22:07:43 · 8708 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 参考(CMSIS-RTOS2 API 之 定义)
定义CMSIS-RTOS2 API 许多 CMSIS-RTOS 功能使用的常量和枚举。更多...内容 标志函数错误代码 线程标志和事件标志使用的常量返回错误代码。 宏定义#define osWaitForever 0xFFFFFFFFU 永远等待超时值。更多... #define osFlagsWaitAny 0x00000000U 等待任何标志(默认)。更多... #define os...翻译 2018-05-05 14:47:16 · 2317 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 参考(CMSIS-RTOS2 API 之 OS Tick API)
OS Tick APICMSIS-RTOS2 API 在设备不可知的 RTOS 实现和特定的周期性定时器功能之间提供低级 API 。更多...函数int32_t OS_Tick_Setup (uint32_t freq, IRQHandler_t handler) 建立 OS Tick 。更多... void OS_Tick_Enable (void) 启用 OS Tick 。更多... voi...翻译 2018-05-05 15:58:01 · 1741 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 参考(RTX5 特定的 API 之 简介)
RTX5 特定的 API 本节介绍 CMSIS-RTOS RTX5 细节。更多...内容 Macros RTX5 宏定义。 Structs RTX5 结构体。 Functions RTX5 函数。 Event functions RTX5 事件记录器函数。 描述RTX5 内核可以根据不同的应用需求进行定制:如果您依赖于可能的最低功耗,则需要调整 osRtxIdleThread 函数以尽可能...翻译 2018-05-05 19:57:20 · 1043 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 参考(RTX5 特定的 API 之 宏定义)
宏定义RTX5 特定的 API RTX5 宏定义。更多...宏定义#define osRtxThreadCbSize sizeof(osRtxThread_t) 线程控制块大小。更多... #define osRtxTimerCbSize sizeof(osRtxTimer_t) 定时器控制块大小。更多... #define osRtxEventFlagsCbSize sizeof(...翻译 2018-05-05 20:29:53 · 568 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 参考(RTX5 特定的 API 之 结构体)
结构体RTX5 特定的 API RTX5 结构体。更多...数据结构struct osRtxThread_t 线程控制块。更多... struct osRtxTimerFinfo_t 定时器功能信息。更多... struct osRtxTimer_t 定时器控制块。更多... struct osRtxEventFlags_t 事件标志控制块。更多... struct osRtxMute...翻译 2018-05-05 21:18:45 · 769 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 参考(RTX5 特定的 API 之 函数)
函数RTX5 特定的 API RTX5 函数。更多...函数uint32_t osRtxErrorNotify (uint32_t code, void *object_id) OS 错误回调函数。更多... void osRtxIdleThread (void *argument) OS 空闲线程。更多... 描述函数文档 uint32_t osRtxErrorNotify ...翻译 2018-05-05 23:47:04 · 2723 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 参考(RTX5 特定的 API 之 事件功能(简介))
事件功能RTX5 特定的 API RTX5 事件记录功能。更多...内容 内存函数 内存函数发生的事件。 内核函数 内核函数生成的事件。 线程函数 线程函数生成的事件。 定时器函数 定时器函数生成的事件。 事件标志函数 事件标志函数生成的事件。 互斥锁函数 互斥锁函数生成的事件。 信号量函数 由信号量函数生成的事件。 内存池函数 内存池函数生成的事件。 消息队列函数 消息队列...翻译 2018-05-06 10:04:29 · 797 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 参考(RTX5 特定的 API 之 事件功能(内存函数))
内存函数事件功能 内存函数发生的事件。更多...函数void EvrRtxMemoryInit (void *mem, uint32_t size, uint32_t result) 内存初始化事件(Op)更多... void EvrRtxMemoryAlloc (void *mem, uint32_t size, uint32_t type, void *block) 内存分配事件(Op)更多...翻译 2018-05-06 11:39:37 · 586 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 参考(RTX5 特定的 API 之 事件功能(内核函数))
内核函数事件功能 内核函数生成的事件。更多...函数void EvrRtxKernelError (int32_t status) 关于 RTOS 内核错误的事件(错误)更多... void EvrRtxKernelInitialize (void) RTOS 内核初始化事件(API)更多... void EvrRtxKernelInitializeCompleted (void) 成功的 RT...翻译 2018-05-06 20:06:15 · 1075 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 参考(RTX5 特定的 API 之 事件功能(线程函数))
线程函数事件功能 线程函数生成的事件。更多...Functionsvoid EvrRtxThreadError (osThreadId_t thread_id, int32_t status) Event on thread error (Error) More... void EvrRtxThreadNew (osThreadFunc_t func, void *argument, cons...翻译 2018-05-16 20:53:04 · 1127 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 参考(RTX5 特定的 API 之 事件功能(定时器函数))
定时器函数事件功能定时器函数生成的事件。更多... 函数 void EvrRtxTimerError (osTimerId_t timer_id, int32_t status) 计时器错误事件(错误)更多... void EvrRtxTimerCallback (osTimerFunc_t func, void *argum...翻译 2019-02-09 16:57:35 · 853 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 参考(RTX5 特定的 API 之 事件功能(事件标志函数))
事件标志函数事件功能事件标志函数生成的事件。更多... 函数 void EvrRtxEventFlagsError (osEventFlagsId_t ef_id, int32_t status) 事件标志上的事件错误(错误)更多... void EvrRtxEventFlagsNew (const osEventFlag...翻译 2019-02-09 22:57:40 · 713 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 参考(RTX5 特定的 API 之 事件功能(互斥函数))
互斥函数事件功能互斥函数生成的事件。更多... 函数 void EvrRtxMutexError (osMutexId_t mutex_id, int32_t status) 互斥错误事件(错误)更多... void EvrRtxMutexNew (const osMutexAttr_t *attr) 互斥体...翻译 2019-02-10 13:23:21 · 824 阅读 · 0 评论 -
CMSIS-RTOS2 文档翻译 之 参考(RTX5 特定的 API 之 事件功能(信号量函数))
信号量函数事件功能信号量函数生成的事件。更多... 函数 void EvrRtxSemaphoreError (osSemaphoreId_t semaphore_id, int32_t status) 信号量错误事件(错误)更多... void EvrRtxSemaphoreNew (uint32_t max_count...翻译 2019-02-10 16:05:46 · 804 阅读 · 0 评论