为 VxWorks 编译

Compiling for VxWorks

我意识到这可能是一个非常愚蠢的问题。请逗我:

判断对错:在 VxWorks 平台上 唯一 将程序编译为 运行 的方法是购买一个开发环境,如 Tornado 或来自 WindRiver 的 Workbench。

(我正在寻找为 VxWorks 平台编译的 free/open-source 解决方案。)

除了学术许可(无论如何都会使用 VxWorks 安装)之外,没有任何方法可以合法地为 vxWorks 平台编译代码。

从技术上讲,您可以获得用于为 VxWorks 编译代码的 GNU 工具链。

您将 运行 遇到的问题是您无法访问编译代码所需的头文件或 link 反对的库。

由于 VxWorks 是专有的,因此您需要他们提供的工具 (Workbench/Tornado),以便为他们的 OS.

开发

一个 可以 使用通用的 GNU 交叉编译器生成 ELF 文件,并使用 ld 命令将它们加载到 运行 VxWorks 系统上。但是,我不建议将它用于超出概念验证或初始实验的任何用途——VxWorks 库 Wind River 对它们的出色文档都是必需的。

在开发主机上:

powerpc-elf-eabi-gcc -c foo.c

然后在目标驻留 shell 上,它已经从开发主机(例如,通过 NFS)挂载了一个文件系统:

-> ld < foo.o
-> main()

(函数main()来自foo.c