我想知道使用不同的工具链编译嵌入式系统的应用程序是否是个好主意,而不是用于编译运行应用程序的嵌入式Linux。
我的问题是,从供应商处获取Linux系统的源代码以及我在项目中需要的所有驱动程序。另一方面,我必须编写更复杂的软件来管理此设备与外部用户的交互。我想使用C ++标准11进行编码,但是我从供应商处获得的工具链是从2007年开始的,所以它绝对不支持这个标准。
我的第一个想法是使用crosstool-ng使用较新的编译器和glibc / glibc ++构建我自己的交叉编译工具链以支持新标准。我假设我要使用我的设备供应商提供的旧Linux的标头。 Linux内核的版本是2.6.30.10。我可以通过这种方式获得一个可以工作的交叉编译工具链,或者我应该暂停这个工具吗?我可以通过这种方式获得什么样的问题。
下面我从使用供应商工具链编译的代码中的二进制文件中显示file
命令的输出
ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 2.6.14, not stripped