osx雪豹

我试图编译我的第一个Linux ARM Hello World程序,当我复制并运行二进制文件到我的目标Linux板(linuxstamp Atmel arm 9g20)时,我得到“Illegal instruction”

我正在macports上运行OS X上的arm-elf-gcc-4.6。 我正在使用Eclipse和IDE。 看起来这个版本更适合独立的非操作系统程序,而不是代码在Linux用户空间中运行。 有人能指出我正确的方向吗? 谢谢。

码:

#include<stdio.h>

int main(){
    printf("hello worldn");
    return 0;
}

项目ArmTest的配置版本发布**

make all构建目标:ArmTest.elf调用:ARM Mac OS X GCC C链接器/opt/local/bin/arm-elf-gcc-4.6 -nostartfiles -Wl,-Map,ArmTest.map -mcpu = arm920 -mthumb -o “ArmTest.elf”./main.o
/opt/local/lib/gcc/arm-elf/4.6.0/../../../../arm-elf/bin/ld:warning:无法找到条目符号_start; 默认为0000000000008000完成建筑目标:ArmTest.elf

调用:ARM Mac OS X GNU创建Flash映像/ opt / local / bin / arm-elf-objcopy -O二进制ArmTest.elf“ArmTest.hex”完成的构建:ArmTest.hex

调用:ARM Mac OS X GNU创建列表/ opt / local / bin / arm-elf-objdump -h -S ArmTest.elf>“ArmTest.lst”完成的建筑物:ArmTest.lst

调用:ARM Mac OS X GNU打印大小/ opt / local / bin / arm-elf-size --format = berkeley ArmTest.elf文本数据bss十进制十六进制文件名称8112 2104 232 10448 28d0 ArmTest.elf完成的建筑物:ArmTest.siz


我正在Mac OS X上运行arm-elf-gcc-4.6 [...]它看起来像构建更多的是一个独立的非OS程序,而不是代码在Linux用户空间运行。

事实上,这是针对没有 Linux操作系统的嵌入式ARM设备。 作为ARM的交叉编译器的gcc的Linux版本应该在其名称中包含“linux”,如“arm-linux-gcc”。

链接地址: http://www.djcxy.com/p/70393.html

上一篇: osx snow leopard

下一篇: Printing all global variables/local variables?