我意识到这可能是一个非常愚蠢的问题。请幽默我:
判断对错: 编译程序以在VxWorks平台上运行的方法是从WindRiver购买Tornado或Workbench等开发环境。
(我正在寻找一个免费/开源解决方案来编译VxWorks平台。)
答案 0 :(得分:3)
在学术许可之外(无论如何都会使用VxWorks安装),没有任何方法可以合法地编译vxWorks平台的代码。
从技术上讲,您可以获得用于编译VxWorks代码的GNU工具链。
您将遇到的问题是,您将无法访问编译代码或链接库所需的头文件。
答案 1 :(得分:0)
一个可以使用通用的GNU交叉编译器生成ELF文件,并使用ld
命令将其加载到运行的VxWorks系统上。但是,除了概念验证或初步实验之外,我不建议使用它-VxWorks库和 Wind River的精湛文档对它们都是必需的。
在开发主机上:
powerpc-elf-eabi-gcc -c foo.c
然后在驻留在目标主机上的外壳上,该外壳已从开发主机上挂载了文件系统(例如,通过NFS):
-> ld < foo.o
-> main()
(其中函数main()
来自foo.c
)
答案 2 :(得分:-1)
由于VxWorks是专有的,因此他们需要使用他们提供的工具(Workbench / Tornado),以便为他们的操作系统进行开发。