如何为PowerPC编译Hello World程序

我有一个Dreambox 500,在Wikipedia上说它有一个PowerPC PCP处理器:

$cat /proc/cpuinfo
processor: 0
cpu: STBx25xx
clock: 252MHz
Review: 9.80 (pvr 5151 0950)
bogomips: 250.36
Machine: Dream Multimedia Dreambox TV
plb bus clock: 63MHz

我通常会安装GCC,但是它的存储空间不足,因此我需要为其编译程序.

我听说GCC可以编译powerpc,但是我没有运气.

此代码示例

#include <stdio.h>

int main()
{
    printf("Hello World!\n");

    return 0;
}

我用它来编译

gcc example.c -mtune=powerpc

但是它给这个错误

example.c:1:0 error: bad value (powerpc) for -mtune- switch
#include <stdio.h>
^

谢谢!

最佳答案
您应该使用交叉编译器,因为您的目标体系结构与主机体系结构不同.主机是系统的体系结构(通常是amd64(x86_64)或i386(x86_32)).目标架构是您的已编译程序将在其上运行的架构(在您的情况下为powerpc).

许多GNU / Linux发行商都将交叉编译器作为单独的软件包提供.例如,对于Ubuntu,这些软件包可用:

sudo apt-get install gcc-4.8-powerpc-linux-gnu g++-4.8-powerpc-linux-gnu binutils-4.8-powerpc-linux-gnu

上面的软件包值得信赖.在更高的版本中,提供了不同的GCC版本.

然后,您可以使用powerpc-linux-gnu-gcc-4.8编译程序.或者,您可以将环境变量CC和CXX分别设置为powerpc-linux-gnu-gcc-4.8和powerpc-linux-gnu-g -4.8.

更新:
我找到了Dreambox 500 here的交叉编译器工具链,但其中包含相对较旧的GCC(3.4).

为了使用它将下载的文件解压缩到/ opt / cross / dm500,通过导出PATH = $PATH将/ opt / cross / dm500 / cdk / bin添加到路径中,并使用gcc from这里带有适当的前缀.

转载注明原文:如何为PowerPC编译Hello World程序 - 代码日志