canconfig 移植记录

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
posted @ 2017-05-02 19:10  陈富林  阅读(2848)  评论(0编辑  收藏  举报