使用MacPorts我刚刚在我的MacBook Pro上安装了arm-elf-gcc。这工作完美无缺,似乎都运行良好。运行arm-elf-gcc编译代码时出现seg fault
但是,在C和C++编译一个简单的hello world测试程序并尝试在目标板(运行Debian Linux的基于ARM9的电路板)上运行后,它们立即发生故障。
我有点卡住了如何去调试这个,因为目标板的可用工具有限,没有gdb。我已经使用Linux托管的交叉编译器成功构建并运行了其他代码,因此它应该可以工作。
任何想法?
继我已经建立的建议和运行gdbserver的,我得到的主机在gdb以下几点:
计划接收信号SIGSEGV,分割过错。 0x00000000在? ()
我认为这可能是一个标准的C库的问题,所以我删除了任何调用,并只有一个空的主返回0,它编译为-WALL -G hello-arm.cpp -static 。作为测试,我使用Linux托管的交叉编译器编译了相同的源代码,并且运行并退出正常。我可以看到的唯一区别是Linux编译版本的大小是两倍,并且文件的输出差异命令:
arm-elf-gcc:ELF 32位LSB可执行文件,ARM版本1静态链接,而不是汽提
臂 - * - Linux操作系统:ELF 32位LSB的可执行文件,ARM,版本1,静态链接,用于GNU/Linux 2.4.18,不剥离
我现在正在经历同样的问题。你有没有得到答案? – Jim 2011-11-03 16:59:40
我并没有真正了解这一点,我认为这更多的是因为我对这个问题的误解。不过,我通过从http://www.obdev.at/products/crosspack/index.html安装Crosspack ARM获得了可用的ARM交叉编译器。 – Patrick 2011-11-18 00:15:59