can 在Linux 里面是作為一個網絡設備存在的,記錄一下 canconfig
移植過程。
* #### 一、 下載 `canutils` 和 `libsocketcan `
libsocketcan 地址: http://public.pengutronix.de/software/libsocketcan/
canutils 地址 : http://public.pengutronix.de/software/socket-can/canutils/v4.0/
// 下載最新的 canutils-4.0.6.tar.bz2 以及 libsocketcan-0.0.10.tar.bz2
* #### 二、 下載完先編譯 `libsocketcan` 庫。
// 解壓
tar -xvf canutils-4.0.6.tar.bz2
cd libsocketcan-0.0.10/
mkdir out
// 默認已經配置了交叉編譯器。
./configure --prefix=/home/qt/test/libsocketcan-0.0.10/out \
--host=arm-none-linux-gnueabi
// 編譯
make
make install
// 生成的庫在 out/lib 下
qt@aplex:~/test/libsocketcan-0.0.10$ ls out/lib/
libsocketcan.a libsocketcan.la libsocketcan.so
libsocketcan.so.2 libsocketcan.so.2.2.1 pkgconfig
// 將這些生成的庫復制到你板子的文件系統內,放在 lib 目錄下也行,放在 usr/lib 里面也可以
* #### 三、 再進行編譯`canconfig`
// 先將 libsocketcan 里面的頭文件 libsocketcan.h can_netlink.h 復制到 canutils 的 include 里面
tar -xvf canutils-4.0.6.tar.bz2
cd canutils-4.0.6/
mkdir out
// 配置
./configure --host=arm-none-linux-gnueabi \
--prefix=/home/qt/test/canutils-4.0.6/out \
libsocketcan_LIBS=-lsocketcan \
LDFLAGS="-L/home/qt/test/libsocketcan-0.0.10/out/lib/" \
libsocketcan_CFLAGS="-I/home/qt/test/libsocketcan-0.0.10/out/include"
make
make install
// 最后在 out/sbin 下能見到 canconfig 命令。
qt@aplex:~/test/canutils-4.0.6$ ls out/sbin/
canconfig