【发布时间】:2023-07-25 04:59:01
【问题描述】:
我有一个现有的嵌入式源代码,它直接在没有操作系统的微控制器上运行。我需要移植代码以在特定的 RTOS 上运行。
在尝试做某件事时,是否有任何指导方针? 资源、最佳实践和其他见解将非常受欢迎。
【问题讨论】:
-
您可能应该尝试识别非典型操作(外围配置、中断处理程序等)并将它们从简单的程序逻辑中分离出来,以便您可以开始思考如何以兼容的方式实现/替换它们与实时操作系统。然后你需要看看程序组织——它是事件驱动的、循环轮询等吗?有时您可以在更丰富的环境中模拟原始环境并保持大部分代码不变,有时您确实需要重新构建一些假设硬件与之相关的东西,因为它很高兴在操作系统环境中运行良好.
-
您首先要回答的主要问题是:为什么您“需要”将代码移植到 RTOS 上?您是否需要重构您的应用程序以便能够更轻松地处理并行事件?您是否需要在现有软件中添加需要与旧代码同时执行的新功能?
-
这个 RTOS 有名字吗?我通常的心态是,一旦你使用(掌握)一两个,它们几乎都是一样的,但是知道你是否在谈论 uC/OS-II(小)可能会有所帮助与 OSE 或 VxWorks 或其他什么...
-
@greydet - 完全同意。为什么(MellowCandle)你“需要”移植到这个操作系统?你知道我在这种情况下经常告诉客户什么吗?创建一个任务,将当前应用程序放在该任务中,bam,你已经完成了。当然,在那种情况下,你没有利用 RTOS,但你没有告诉我们你需要减少轮询/添加协议栈等。(显然,如果你使用中断,你的工作比把任务中的应用程序)。