CMSIS-RTOS2 应用笔记 一 概述
来源:互联网 发布:apache.org 编辑:程序博客网 时间:2024/06/10 00:54
CMSIS-RTOS2 通用RTOS接口
CMSIS-RTOS2是一个通用的API,它与底层的RTOS内核无关。 程序员在用户代码中调用CMSIS-RTOS2 API函数,以确保从一个RTOS到另一个RTOS的最大可移植性。 使用CMSIS-RTOS2 API的中间件避免不必要的移植工作。
典型的CMSIS-RTOS2 API实现与现有的实时内核接口。 CMSIS-RTOS2 API提供以下属性和功能:
● 线程管理允许您定义,创建和控制线程。
● 中断服务程序(ISR)可以调用一些CMSIS-RTOS功能。 当不能从ISR上下文调用CMSIS-RTOS函数时,它拒 绝调用并返回错误代码。
● 三种不同的事件类型支持多线程和/或ISR之间的通信:
● 线程标志:可用于指示线程的特定条件。
● 事件标志:可用于向线程或ISR指示事件。
● 消息:可以发送到线程或ISR。 邮件缓冲在队列中。
● 互斥管理和信号量被并入。
● 可以使用以下功能安排CPU时间:
● 许多CMSIS-RTOS功能中并入超时参数,以避免系统锁定。 当指定超时时,系统等待,直到资源可用或 事件发生。 在等待时,其他线程被安排。
● osDelay和osDelayUntil函数将线程置于WAITING状态一段指定的时间。
● osThreadYield提供合作的线程切换,并将执行传递给同一优先级的另一个线程。
● 定时器管理功能用于触发功能的执行。
CMSIS-RTOS2 API旨在通过Cortex-M存储器保护单元(MPU)可选地并入多处理器系统和/或访问保护。
在一些RTOS实现中,线程可以在不同的处理器上执行,因此消息队列可以驻留在共享存储器资源中。
CMSIS-RTOS2 API鼓励软件行业发展现有的RTOS实现。 对于Cortex-M处理器,RTOS实现可以在不同方面进行不同和优化。 可选功能可能是例如
● 支持Cortex-M存储器保护单元(MPU)。
● 支持多处理器系统。
● 支持DMA控制器。
● 确定性上下文切换。
● 循环上下文切换。
● 防止死锁,例如优先级倒置。
● 通过使用ARMv7-M指令LDREX和STREX来实现零中断延迟。
- CMSIS-RTOS2 应用笔记 一 概述
- CMSIS-RTOS2 应用笔记 三 功能概述
- CMSIS-RTOS2 应用笔记 八 目录结构和文件概述
- CMSIS-RTOS2 应用笔记 二 配置接口
- CMSIS-RTOS2 应用笔记 四 创建工程
- CMSIS-RTOS2 应用笔记 五 操作理论
- CMSIS-RTOS2 应用笔记 六 RTX 配置
- CMSIS-RTOS2 应用笔记 七 构建RTX5库
- LPC1765 CMSIS移植笔记
- CMSIS
- CMSIS
- CMSIS
- JNDI 笔记(一) 概述
- JNDI 笔记(一) 概述
- JNDI 笔记(一) 概述
- 算法笔记一:概述
- JNDI 笔记(一) 概述
- ARM CMSIS DAP源码分析(一)
- mysql中的coalesce用法
- nginx源码分析——event模块
- php变量布尔值验证
- idea添加工作空间
- 数据库中索引的作用和优缺点
- CMSIS-RTOS2 应用笔记 一 概述
- 设计模式之---享元模式
- 常用SQL语句实例(含过滤及删除重复数据、导入导出数据等)
- SQL之经典SQL语句大全
- linux一些指令1(基于centOS)
- PreparedStatement
- 微软封杀7代酷睿、Ryzen用Win7!
- 优化SQL查询:如何写出高性能SQL语句
- 配置Nginx和php-fpm用Sock套接字连接时,找不到php-fpm.sock的原因