Linux CAN驅動編譯記錄
阿新 • • 發佈:2018-12-12
1.編譯環境所需工具:
交叉編譯工具鏈根據每個開發板所提供的型別進行設定,我的工具鏈名稱為
arm-fsl-linux-gnueabi-gcc
後面實際配置時請注意
2.參考部落格
https://www.cnblogs.com/eaggle/p/7641526.html
https://blog.csdn.net/sinat_35706094/article/details/79537749
https://blog.csdn.net/sno_guo/article/details/17029295
3.具體配置
第一步:配置交叉編譯工具鏈
配置好交叉編譯工具鏈為全域性環境,也就是將其新增到環境變數中,具體因人而異。在這不具體說明,請自行查詢資料
export ARCH=arm
export CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl
-linaro-toolchain/bin/arm-none-linux-gnueabi-
export PATH=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib -2011.12/fsl-linaro-toolch
ain/bin:$PATH
第二步 交叉編譯libsocketcan
cd libsocketcan-0.0.9 //進入目錄
mkdir out //建立資料夾,放置生成檔案
./configure --prefix=/資料夾路徑/libsocketcan-0.0.10/out --host=arm-fsl-linux-gnueabi
make
make install
此時生成檔案會出現在out/lib資料夾下,將這些生成的庫複製到開發板的檔案系統內,可以放在lib目錄下,也可以放在usr/lib裡面
(每篇部落格的設定都不同,該步的生成檔案我沒有拷貝到開發板。以防後面配置出現問題,可以設定上)
第三步 編譯安裝canutils-4.0.6.tar.bz2
先將 libsocketcan 裡面的標頭檔案 libsocketcan.h can_netlink.h 複製到 canutils 的 include 裡面。這些檔案在out/include目錄下
cd canutils-4.0.6/
mkdir out
//進行實際配置,可直接複製下面程式碼,務必仔細修改資料夾路徑和交叉編譯工具鏈
./configure --host=arm-fsl-linux-gnueabi \
--prefix=/資料夾路徑/canutils-4.0.6/out li \
bsocketcan_LIBS=-lsocketcan LDFLAGS="-L/ \
資料夾路徑/libsocketcan-0.0.10/out/lib/" l \
ibsocketcan_CFLAGS="-I/資料夾路徑/libsocke \
tcan-0.0.10/out/include"
make
make install
最後在 out/sbin 下能見到 canconfig 命令,在out/bin 下面 candump/canecho/cansend/cansequence
將這些檔案拷貝到開發板/usr目錄下即可。
具體請看參考部落格