Linux CAN驱动编译记录

版权声明:本文为博主原创文章,转载请注明出处! https://blog.csdn.net/qq_27513221/article/details/80874529

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

具体请看参考博客

猜你喜欢

转载自blog.csdn.net/qq_27513221/article/details/80874529
今日推荐