开发 RTOS 应用软件框架
发布时间:2022-02-28 00:00:00 所属栏目:动态 来源:互联网
导读:实时操作系统 (RTOS) 正在进入几乎所有物联网设备,RTOS 管理低级资源和复杂时序要求的能力使其非常适合这些应用程序,尽管嵌入式开发人员为如何设计包含 RTOS 的软件架构而苦苦挣扎并不少见。在今天的文章中,我们将探讨开发基于 RTOS 的强大且灵活的软件
实时操作系统 (RTOS) 正在进入几乎所有物联网设备,RTOS 管理低级资源和复杂时序要求的能力使其非常适合这些应用程序,尽管嵌入式开发人员为如何设计包含 RTOS 的软件架构而苦苦挣扎并不少见。在今天的文章中,我们将探讨开发基于 RTOS 的强大且灵活的软件架构的几个技巧。 提示 #1 – 打破应用程序对 RTOS 的依赖 在基于 RTOS 的软件架构中经常看到的一个问题是开发人员选择他们的 RTOS,然后围绕它构建他们的整个软件架构。虽然这似乎不是一个坏主意,但维护或将该代码移植到可能使用不同 RTOS 的其他应用程序可能会变得相当头疼。想想看,没有 RTOS 开发人员遵循的 RTOS 接口标准(尽管 Arm 确实有 CMSIS-RTOSv2)。相反,大约有 100 个不同的 RTOS,每个都有自己的 API。切换 RTOS 需要找到并更改每个 RTOS API 调用,这可能很耗时。 设计架构的更好方法是使应用程序与 RTOS 无关。由于大多数 RTOS 都提供类似的功能,因此将 RTOS 置于操作系统抽象层 (OSAL) 之后,可以推迟对特定 RTOS 的选择,同时减少应用程序 RTOS 依赖性并提高架构的灵活性。 提示 #2 – 使用速率单调调度 (RMS) 来定义任务优先级 一旦在架构中定义了任务,使用速率单调调度来确定任务设计是否朝着正确的方向发展是很有用的。假设你有十几个任务,问题真的变成了:“我真的可以成功地安排所有这些任务并确保没有错过最后期限吗?”。RMS 旨在帮助嵌入式开发人员回答这个问题。 创建一个任务表,包含想要跟踪的有关任务的所有参数。例如,包括以下数据: 任务优先级(即使我可能还没有分配) 任务堆栈大小(或深度取决于 RTOS) 任务估计执行时间(以毫秒为单位) 任务周期(以毫秒为单位) 任务CPU利用率(执行时间/周期) 创建表后,我们将每个任务的利用率相加,然后根据系统中的任务数确保 CPU 利用率小于下表中的值: 如果我们的系统有五个任务,我们希望我们的 CPU 利用率总和小于 0.743,以确保我们的任务可以被调度。(请记住,RMS 有很多假设,但它是一个很好的健全性检查)。 (编辑:马鞍山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 三峡电站 34 台机组今年初次全开运行 日发电量近5亿千瓦时
- HDPLEX 发布世界最小 ATX 电源 采用GaN技术 250W功率
- 150平米穿墙王!小米高端路由器来袭开机自动连接
- 最火65英寸电视全新升级了!荣耀智慧屏X3官宣
- 台北电脑展 2022 实体展5月24日举行,现已开启全球注册
- 百度回应不能搜索 裁判文书网 技术团队误操作所致
- 英伟达 RTX 4090 4080 显卡 PCB 曝光最高支持 24GB 显存
- 消息称三星 Galaxy Tab S8 平板将只有 8+128GB 存储版本
- 谷歌 Android Auto 工具现已支持诊断 USB 数据线是不是损坏
- 车规级7纳米成功流片后吉利亿咖通等5家企业创造数字座舱平台
站长推荐