1

我们开发了一个包含很多 C++ 文件的应用程序。在 Linux 上,我们能够执行它。

我们有一个用于基于 MPC8548E 的定制板的 U-Boot。现在我们决定不使用操作系统。因此,我尝试了两种方法来在 U-Boot 上执行 C++ 应用程序。

1.) 使用 g++(C++ 交叉编译器)编译 C++ 应用程序,并尝试与使用 gcc(C-Compiler)编译的 U-Boot 链接。但我无法做到这一点:我看到的错误消息是:/ToolChain/host/usr/powerpc-buildroot-linux-uclibcs​​pe/bin/ld: failed to merge target specific data of file... 2.) 试过以与完成独立示例相同的方式将我的应用程序与 U-Boot 一起编译。我在 U-Boot 中创建了一个单独的目录并尝试编译它。没有构建 C++ 应用程序,但我能够构建 C 应用程序。

我的主要目的是直接在 U-Boot 上执行 C++ 应用程序。请帮我怎么做?

4

1 回答 1

0

抱歉,我相信在 U-Boot 上使用 C++ 比使用 OS 更容易。

简短的回答,来自 U-Boot 技术负责人:

> Does u-boot support C++ example programs and if so, how can I build one? 
U-Boot does not support C++.

这方面的一些技术背景:U-Boot 在裸机上运行。U-Boot 独立应用程序将链接到应用程序所需的 U-Boot 导出功能。例如,您的 C++ 应用程序将使用“new”,您的 C++ 库需要执行对 malloc 的调用,在这种情况下,这意味着转到 u-boot 导出的函数接口(请参阅 doc/README.standalone)。

对于裸机上的 C++ 的一般主题,我没有这样做,但找到了可能会有所启发的Miro Samek教程。我认为这将是困难的。相比之下,移植 linux 开始看起来不错。

于 2013-09-19T16:25:18.377 回答