gpt4 book ai didi

c - 如何使我的代码独立于 "RTOS"?

转载 作者:太空宇宙 更新时间:2023-11-04 06:47:41 27 4
gpt4 key购买 nike

我想编写一个需要一些 RTOS API(例如 Mbox 和任务创建 API)的模块!

我正在尝试使用结构化代码并为此查看一些库,例如“lwip”。在“lwip”中有一个名为 Sys-arch.c 的文件,据我所知,它是 RTOS API 的抽象层!但在我的端口中,它包含 cmsis_os.h 并使用了该 API。他们为什么这样做而不是直接使用 cmsis_os?

我应该有一个新的操作系统层来获得可移植代码,还是 CMSIS_OS 就足够了?

最佳答案

这个答案是非常基于意见的。

根据我的经验,围绕操作系统访问使用函数/定义始终是个好主意。如果您使用 CMSIS_OS 或您自己的层并没有什么大的不同,如果您使用自己的,尤其是移植和测试,则您需要做更多的工作,而使用多个操作系统会变得非常麻烦。

CMSIS_OS 将您绑定(bind)到 Cortex-M 系统,但由于它们也以非常通常的方式实现了您将在您的层中实现的功能,因此稍后从 CMSIS_OS 移植到您自己的层相当简单。如果您直接在代码中直接调用特定操作系统并没有那么简单,但如果您仅依赖标准功能(看看 CMSIS_OS RTOS 的常见功能是什么)并且不使用特殊功能也是可能的操作系统的功能。

关于c - 如何使我的代码独立于 "RTOS"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55882010/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com