使用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