- 博客(23)
- 资源 (5)
- 收藏
- 关注
翻译 CMSIS-RTOS2 文档翻译 之 参考(CMSIS-RTOS2 API 之 线程管理)
线程管理CMSIS-RTOS2 API 定义,创建和控制线程函数。更多...数据结构struct osThreadAttr_t 线程的属性结构体。更多... 宏定义#define osThreadJoinable 0x00000001U 线程在可连接模式下创建。更多... #define osThreadDetached 0x00000000U 线程以分离模式创建(默认)。更多... ...
2018-04-30 12:57:31 6059 3
翻译 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 2882
翻译 CMSIS-RTOS2 文档翻译 之 参考(CMSIS-RTOS2 API 之 内存管理)
内存管理CMSIS-RTOS2 API 关于内存管理可能性的信息。更多...CMSIS-RTOS2 API 提供了两种用户可以选择的内存管理选项。对于对象存储可以使用自动动态分配(完全便携),或者手动用户定义的分配(具体实施)。为了影响内存分配方案,可以根据请求创建的所有 RTOS 对象(即具有 osXxxNew 函数的那些对象)在创建时接受可选的 osXxxAttr_t attr 参数。作为经...
2018-04-27 20:06:11 1927 1
翻译 CMSIS-RTOS2 文档翻译 之 参考(CMSIS-RTOS2 API 之 简介)
CMSIS-RTOS2 API 介绍 CMSIS-RTOS API v2 的 C 函数接口。更多...内容 内存管理 关于内存管理可能性的信息 内核信息和控制 提供版本/系统信息并启动/控制 RTOS 内核。 线程管理 定义,创建和控制线程函数。 线程标志 使用标志同步线程。 事件标志 使用事件标志同步线程。 通用延时函数 等待一段时间。 定时器管理 创建和控制定时器和定时器回调...
2018-04-27 19:33:27 2178
翻译 CMSIS-RTOS2 文档翻译 之 参考(所有模块的列表)
参考 以下是所有模块的列表:CMSIS-RTOS2 API介绍 CMSIS-RTOS API v2 的 C 函数接口 内存管理关于内存管理可能性的信息 内核信息和控制提供版本/系统信息并启动/控制 RTOS 内核 线程管理定义,创建和控制线程函数 线程标志使用标志同步线程 事件标志使用事件标志同步线程 通用延时函...
2018-04-27 17:41:45 877
翻译 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 2125
翻译 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 1488
翻译 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 913
翻译 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 1237
翻译 CMSIS-RTOS2 文档翻译 之 RTX v5 实现(配置 RTX v5)
配置 RTX v5 文件 “RTX_Config.h” 定义了 CMSIS-RTOS RTX 的配置参数,并且必须是使用 CMSIS-RTOS RTX 内核的每个项目的一部分。以下部分详细介绍了配置选项:系统配置涵盖全局内存池的系统范围设置,节拍频率,ISR 事件缓冲区和循环线程切换。线程配置提供了几个参数来配置线程管理功能。定时器配置提供了几个参数来配置定时器管理功能。事件标志配置提供了几个参...
2018-04-26 16:12:31 2904
翻译 CMSIS-RTOS2 文档翻译 之 RTX v5 实现(操作理论)
操作理论 内核的许多方面都是可配置的,并在适用的情况下提及配置选项。系统启动由于 main 不再是一个线程,RTX5 在到达 main 之前不会干扰系统启动。一旦执行到达 main(),建议初始化硬件并启动内核。这也反映在随 RTX5 组件提供的用户代码模板文件 “CMSIS-RTOS2” 主 “功能” 中。你的应用程序的 main()应该按给定的顺序至少实现以下内容:硬件的初始化和配置,包括...
2018-04-25 19:51:11 2832
翻译 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 5969
翻译 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 8126
翻译 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 1135
翻译 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 3279
翻译 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 7726
翻译 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 1215
翻译 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 4357
原创 KEIL MDK RTE 介绍
KEIL MDK RTE 介绍 RTE 是 MDK V5.0 之后加入的运行时环境,里面包含了常用外设的驱动(UART、I2C、SPI、USB等),还有常用的实时操作系统(RTX、FreeRTOS、RTT等),常用的一些库和协议栈(FatFs、Jansson、MQTT、mbed TLS等),可以基本满足产品开发的需求。ARM 公司敢把这些东西集成到 MDK 中肯定代码的安全性是可以保证的...
2018-04-16 21:09:41 14978
原创 ARM CMSIS Driver 学习 之 SPI
ARM CMSIS Driver 学习 之 SPI CMSIS Driver 都有着相似的 API 函数和相似的调用方法,它是在 ST HAL 库的基础上又进一步的封装,使用和配置起来都要比 ST HAL 库要方便和简单许多,并且还是跨平台的,非常有学习和使用的价值。今天学习 SPI API 的使用,详细介绍见 CMSIS Driver SPI APISPI 发送与接收/** **...
2018-04-14 18:16:56 5225
原创 ARM CMSIS Driver 学习 之 USART
ARM CMSIS Driver 学习 之 USART 最近把 MDK 升级到了 V5.25 ,发现 Managing Run-Time Environment 中已经有好多好多的库。相比之前已经好了太多太多,从底层驱动,到上层协议栈,常用的有不常用的也有。发现 ARM 对这套系统的更新速度加快了一些,觉得有必要学习一下。从驱动开始学起,先学 USART API 详细介绍见 CMSIS...
2018-04-06 20:01:07 3700
原创 STM32F4 C++ 封装库 之 EXTI
STM32F4 C++ 封装库 之 EXTI 这几天看了下 mbed 的源码,给上层应用调用的接口封装的还是不错的。代码质量比较高,注释也很详细,文档和例程比较全。但是驱动层的程序全是 C 语言编写的,代码质量就没有那么高了,注释比较少而且不规范,比较怀疑 mbed 的稳定性。mbed 的实时内核是用的 RTX5 ,文件系统用的 FatFs ,还有一些开源的协议栈,整套系统比较繁杂。m...
2018-04-04 20:34:23 725
原创 STM32F4 C++ 封装库 之 GPIO
STM32F4 C++ 封装库 之 GPIO 一直有一个想法就是用 C++ 去做 STM32 的开发,但是很少有这方面的资料。经过一段时间的思考,决定在官方的 ll 库的基础上做一层 C++ 的简单封装。因为官方的库基本实现了全系列的 MCU 都是相同的 API 接口,所以 C++ 封装后的库也有很好的移植性。原理性的东西就不讲理了,直接上代码。stm32f4xx_xgpio.h 文件...
2018-04-01 15:03:40 1319
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人