答案1
通常,对于嵌入式设备,人们不会直接在其上编译软件。做所谓的事更舒服cross-compilation
简而言之,就是使用普通 PC 编译到 x86 之外的另一种架构。
你说你是 Linux 新手;仅供参考,您面临着一个巨大的问题:交叉编译到嵌入式设备并不是一件容易的事。
我研究了你们的 HMI 系统并注意到一些关于 Yocto 的结果。
Yocto
简而言之,是一个为嵌入式设备构建固件的完整框架。
由于您的 HMI 大量使用开源项目(Linux,可能是 busybox 等),因此制造商必须为您提供一种自行重建所有开源组件的方法。通常,您需要做的是BSP
(主板支持包)。硬件制造商通常发货:
- 使用
buildroot
允许您从头开始重建整个固件的项目。 - 使用
yocto
元,将其添加到相应 yocto 项目的新副本中,也将允许您重建整个固件。 - 更罕见的是,一堆蹩脚的脚本和预构建的编译器。
所以,如果我是你,我会:
- 请联系制造商支持人员,请求使用开源工具来重建固件。
- 同时,在 Google 中搜索“您的 HMI + yocto”、“您的 HMI + buildroot”等。
经过更多谷歌搜索后,我发现了 Yocto 元github。
您可以在目录上检查此元实现的机器配置/机器元的。
目前有五台机器定义为以下代号:
- us01-套件
- us02-套件
- us03-套件
- 乌索姆01
- 乌索姆02
所以我建议你深入研究一下。这可能是您自己构建软件的方式。您还可以检查这一页在 github 帐户上可能会为您提供更多线索。
答案2
我同意binarym关于交叉编译的回答。但是,如果仍然想在具有如此保守的硬件的机器上直接编译,我建议看一下较小的编译器,例如Tiny C 编译器 (tcc)在 x86 架构上大约占用 100KB。不过,我要指出的是,它仅将支持扩展到 ISO C99,而不是 C11。