下載can-utils源碼後手動編譯的步驟
./configure CC=arm-linux-gnueabihf-gcc --target=arm-linux --host=arm-linux
build:執行代碼編譯的主機,自己的主機系統ubuntu會是x86_64-pc-linux-gnu。如果不做配置一般由config.guess來猜就可以。
host:編譯出來的二進制程序所執行的主機,如果本機編譯,本機執行這個值就等於build。交叉編譯的時候用host指定運行主機 比如arm-linux。
target:這個選項只有在建立交叉編譯環境的時候用到,他會用主機上的編譯器,編譯一個新的編譯器gcc,這個新的編譯器將來編譯出來的其他程序將運行在target指定的系統上。
make distclean 刪除配置和編譯結果
make CC=arm-linux-gnueabihf-gcc 編譯
----------------------------------------------------------------------------------------------------
交叉編譯GDBwiki:
https://sourceware.org/gdb/wiki/BuildingCrossGDBandGDBserver
安裝textinfo
configure有error 找不到makeinfo,要安裝textinfo
sudo apt-get install texinfo
安裝arm-linux-gnueabihf-g++
sudo apt-get install g++-arm-linux-gnueabihf
sudo apt-get install arm-linux-gnueabihf-gcc
build 命令
在加上CXX之前一直提示 g++ libreadline.a ... :/usr/lib/ld libreadline.a 格式錯誤,猜測應該用arm-linux-gnueabihf-g++而不是g++ (幾近崩潰才發現)
./configure --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++
把gdb copy到板子上即即可運行