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

canconfig 移植记录的更多相关文章

  1. MiniCRT 64位 linux 系统移植记录:64位gcc的几点注意

    32位未修改源码与修改版的代码下载: git clone git@github.com:youzhonghui/MiniCRT.git MiniCRT 64位 linux 系统移植记录 MiniCRT ...

  2. dhcp server 移植记录

    这次移植 WIFI ,需要做成 AP 模式,所以,需要移植 dhcp 服务端 busybox 里面自带 udhcpd 选项. 打开buildroot , make busybox-menuconfig ...

  3. MySql 数据库移植记录

    在使用长文本时,SqlServer 在以下情况下工作正常 [Property("CContent", ColumnType = "StringClob", Le ...

  4. android5.1移植记录

    应用能够配置Android系统的各种设置,这些设置的默认值都是由frameworks中的SettingsProvider从数据库中读取的frameworks/base/packages/Setting ...

  5. ssh 移植记录

    利用buildroot 先编译一个 sshd cd buildroot-2016.05/ make menuconfig Target packages ---> Networking appl ...

  6. vim 移植记录

    下载两个源码包: vim : ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2\ ncurses-5.8.tar.gz http://ftp.gnu.org ...

  7. 移植 libuv 至 Visual C++ 6.0 并支持 Windows XP 编译系统

    移植版本 libuv:https://github.com/liigo/libuv-vc6 (支持VC6和XP.作者Liigo). 我从一年前(大概2013年6,7月份)開始在业余时间做这项移植工作, ...

  8. 移植Iperf到android 用来学习linux移植到安卓的例子

    Iperf移植记录 1.生成arm编译需要的头文件config.h ./configure --host=arm如果需要make clean make distclean2.增加Android.mk文 ...

  9. 把php上传sae问题要使用IO

    应用移植指南 一,为什么要移植应用 SAE禁止IO写操作,代码目录不能写入.这意味着普通程序的上传图片.生成缓存等操作都不能在SAE上正常运行,这时候你需要对这些代码进行修改后才能让你的程序运行在SA ...

随机推荐

  1. HDU 1299 基础数论 分解

    给一个数n问有多少种x,y的组合使$\frac{1}{x}+\frac{1}{y}=\frac{1}{n},x<=y$满足,设y = k + n,代入得到$x = \frac{n^2}{k} + ...

  2. Redis-1-Redis的安装

    Redis 什么是Redis? redis是一个开源的.使用C语言编写的.支持网络交互的.可基于内存也可持久化的Key-Value数据库. 安装Redis: windows下如何安装? 官方网址:ht ...

  3. ASP.Net Web 服务 – 如何使用会话状态

    在上次博客帖子中,我们讨论了客户端对web服务的使用.在这篇文章中我们将复习一下如何使用web服务的会话状态. 这是上一篇文章的延续.因此请迅速的回顾之前的文章以便有一个清晰的概念. 在web服务中要 ...

  4. 48、面向对象中super的作用?

    什么是super? super() 函数是用于调用父类(超类)的一个方法. super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序( ...

  5. NB二人组(一)----堆排序

    堆排序前传--树与二叉树简介 特殊且常用的树--二叉树  两种特殊的二叉树 二叉树的存储方式 二叉树小结 堆排序 堆这个玩意....... 堆排序过程: 构造堆: 堆排序的算法程序(程序需配合着下图理 ...

  6. c语言学习笔记.内存管理.

    内存: 每个程序的内存是分区的:堆区.栈区.静态区.代码区. 1.代码区:放置所有的可执行代码,包括main函数. 2.静态区:存放所有的全局变量和静态变量. 3.栈区:栈(stack),先进后出.存 ...

  7. SQLite3使用详解

    sqlite常量的定义(SQLite3返回值的意思): SQLITE_OK           = 0;  返回成功 SQLITE_ERROR        = 1;  SQL错误或错误的数据库 SQ ...

  8. JS时间转换的一个坑位

    在做项目的时候,无意发现了一个小东西. new Date('2018-05-15') new Date('2018-5-15') 输出的结果是不同的,相差了8小时.然后让我回忆到之前看的一个时间转换函 ...

  9. 教你如何修改FireFox打开新标签页(NewTab Page)的行列数

    FireFox的打开新建标签页(即NewTab Page)默认只能显示3x3个网站缩略图,这9个自定义的网站,非常方便快捷,什么hao123的弱爆了,本人从未用过此类导航网站,曾经用过的也只是abou ...

  10. Django 1.10文档中文版Part4

    2.10 高级教程:如何编写可重用的apps 2.10.1 重用的概念 The Python Package Index (PyPI)有大量的现成可用的Python库.https://www.djan ...