embedded - 将 Windows 软件移植到嵌入式/实时操作系统

标签 embedded cross-platform rtos

我有一个针对 Windows 环境的现有代码库,着眼于 future ,我希望它尽可能跨平台。 我通过使用跨平台库在标准 Linux 发行版上取得了一些成功,但我想将其扩展到实时和/或嵌入式操作系统。

是否可以将大部分代码库移植到此类系统,或者是否需要针对该环境重新实现?如果需要重新创建零件,这些系统的开发是否需要不同类型的设计方法?一些供应商提供他们自己的 IDE 用于开发,这些是必要的还是我们可以或是否有可能标准化 GNU 工具链类型的构建过程?

潜在的漏洞可能是 IPC 处理上的差异,但如果不进一步了解,就很难掌握具体细节。

注意,虽然目前基于 Windows,但并没有特别大量地使用 Win32 API(主要是 COM)或 Windows 类型。

谢谢

编辑::代码库是 C\C++

最佳答案

如果您使用的是 Windows COM 接口(interface)(我假设您在这里不是在谈论串行端口,而是在谈论通用对象模型),您的代码可能需要从中抽象出来。

正如您所说的 IPC,那么显然这是一个多任务/多处理类型的代码库。既然如此,您将不得不想出一种方法来处理环境差异。

首先,您需要某种实时操作系统,因为您的应用程序是多任务的。当您移植到 Linux 时,您可能想研究使用实时 Linux 的一个版本。这将最大限度地减少您必须执行的端口数量。

如果您不想使用 Linux 作为嵌入式平台,请使您的代码符合 POSIX(Linux 是)并确保您选择的 RTOS 支持 POSIX。这样,到 Linux 和嵌入式平台的端口将基本相同。

归根结底,COM 将成为您的信天翁。

由于您没有提及 GUI 的使用,我们不会解决蠕虫的问题:)

关于embedded - 将 Windows 软件移植到嵌入式/实时操作系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/106581/

相关文章:

java - 需要帮助将 c# 加密转换为 java (android) 加密以实现交叉兼容性

java - 如何从 Java 调用 .NET 代码?

c - 通过 RTOS 实现状态机

rtos - RTOS如何完成从中断的任务切换

c++ - 从文字字符串生成编译时常量整数

c - STM32F4 SPI问题: master cannot write data

linux - 嵌入式 Linux – 部署固件更新的机制?

嵌入式目标上的 C++ : Low overhead storage backend

java - 如何使内联标签(需要 com.sun)更跨平台?是否有非 Oracle/更多跨平台的 javadoc 解析器?

multithreading - 阻止除一个线程之外的所有线程的最佳方法是什么?