1. 程式人生 > >Linux CAN驅動編譯記錄

Linux CAN驅動編譯記錄

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目錄下即可。

具體請看參考部落格