文档章节

iproute2 ip 命令交叉编译完整版

vector542968
 vector542968
发布于 2015/03/11 13:42
字数 579
阅读 1K
收藏 0

「深度学习福利」大神带你进阶工程师,立即查看>>>

iproute2 ip 命令交叉编译以设置can0 bitrate---Vector

软件平台:

Linux:Ubuntu 12.04

交叉编译工具链:arm-none-linux-gnueabi-gcc 4.7.3

开发板:SBC6845 Board(AT91SAM9G45)

iproute2: iproute2-3.19.0

此文目的:

贡献此文,是对luoshi129 文章的一个补充(http://my.oschina.net/u/1425390/blog/185853),更是为了在使用ip命令出现错误时,反复调试及上网查找原因而不得的网友们的回报,希望此文能让你在使用这个命令时少走些弯路。

按常规步骤,你编译完iproute2.在使用ip命令:

ip link set can0 up type can bitrate 500000

ip link set can0 type can bitrate 500000

时,可能会出现:

(1)      ip: either "dev" is duplicate, or "type" is garbage

(2)      Illegal instruction

等错误,这说明ip 命令编译有问题。

完整步骤:

以下为完整编译步骤以供参考:

下载iproute2的最新源码 http://www.kernel.org/pub/linux/utils/net/iproute2/

解压iproute2-3.19.0.tar.gz,

(1)  进入/iproute2-3.19.0/ip 文件夹,运行:

arm-none-linux-gnueabi-gcc iplink_can.c -I/srv/smart_kernel/driver_test/testCAN/iproute2-3.19.0/include -fPIC -shared -o link_can.so  

// -I: 指定link_can.c 中include所需的头文件

// -shared 该选项指定生成动态连接库;
// -fPIC表示编译为位置独立(地址无关)的代码,不用此选项的话,编译后的代码是位置相关的,所以动态载入时,是通过代码拷贝的方式来满足不同进程的需要,而不能达到真正代码段共享的目的。

 

将生成的link_can.so 拷贝到开发板/usr/lib/ip/目录下(/usr/lib 无ip目录,需自己创建).

 

(2)修改Makefile:

33 #CC = gcc

34 CC = arm-none-linux-gnueabi-gcc

37 WFLAGS := -march=armv4t -Wall -Wstrict-prototypes -Werror -Wmissing-prototypes

 ----march=armv4t 有时必须加上,不然会报”Illegal instruction”错误;

(2)因为我们只需要iprout2的ip命令,所以修改Makefile的第42行。

42 #SUBDIRS=lib ip tc bridge misc netem genl man

43 SUBDIRS=lib ip

修改完成执行make命令,生成ip命令.

将生成的ip命令放在/usr/sbin 目录下,同时把/sbin/目录下ip命令改名为ip_buildroot

 

(3)设置can0:

ifconfig can0 down

ip link set can0 up type can bitrate 500000

 

至此ip 命令编译完成,其它can 调试工具cansend/candump 网上有很多资料,我实际调试时采用的是以下链接:

http://wenku.baidu.com/link?url=K-g2xuJn8jIQvX7S4mTRUCyNXFO58gW1acPfu_PHst9lLBjx6hpbG_16NDq8uirB781eGm0QMW-rkbMZAvQf7WHQsaRCrjDR9ssglb5wNJK

祝好运!

vector542968
粉丝 1
博文 1
码字总数 579
作品 0
无锡
私信 提问
加载中
请先登录后再评论。
Flappy Bird(安卓版)逆向分析(一)

更改每过一关的增长分数 反编译的步骤就不介绍了,我们直接来看反编译得到的文件夹 方法1:在smali目录下,我们看到org/andengine/,可以知晓游戏是由andengine引擎开发的。打开/res/raw/at...

enimey
2014/03/04
6.1K
18
树莓派(Raspberry Pi):完美的家用服务器

自从树莓派发布后,所有在互联网上的网站为此激动人心的设备提供了很多有趣和具有挑战性的使用方法。虽然这些想法都很棒,但树莓派( RPi )最明显却又是最不吸引人的用处是:创建你的完美家用...

异次元
2013/11/09
7.3K
8
5分钟 maven3 快速入门指南

前提条件 你首先需要了解如何在电脑上安装软件。如果你不知道如何做到这一点,请询问你办公室,学校里的人,或花钱找人来解释这个给你。 不建议给Maven的服务邮箱来发邮件寻求支持。 安装Mav...

fanl1982
2014/01/23
1.2W
7
极速博客引擎--Gor

gor 是使用 golang 实现的类Ruhoh静态博客引擎(Ruhoh like),基本兼容ruhoh 1.x规范. 相当于与ruhoh的官方实现(ruby实现), 有以下优点: 速度完胜 -- 编译wendal.net近200篇博客,仅需要1秒 安装...

wendal
2013/01/20
3.9K
0
Steam Installer for Wheezy

Linux游戏最近因为Valve旗下Steam平台的支持而获得快速增长。最初Steam只承诺支持最流行的桌面发行版Ubuntu,但最近它已向其它流行发行版开放了大门。但如果你使用的是不那么流行的发行版呢?...

匿名
2013/03/06
898
0

没有更多内容

加载失败,请刷新页面

加载更多

汇总一下 Intellij IDEA 常用的牛逼插件!

来源:blog.csdn.net/sunny243788557/java/article/details/106011723 1、日晒主题 Solarized Themes 2、idea上 类调用时序图 SequenceDiagram for IntelliJ IDEA 3、彩色括号 Rainbow Brac......

路人甲Java
昨天
12
0
StringBuider 在什么条件下、如何使用效率更高?

点击上方“方志朋”,选择“设为星标” 回复”666“获取新整理的面试文章 作者:后青春期的Keats cnblogs.com/keatsCoder/p/13212289.html 引言 都说 StringBuilder 在处理字符串拼接上效率要...

方志朋
昨天
7
0
预告|悬镜子芽:新一代灰盒安全测试技术实践分享

点击蓝字 关注我们 万物皆有法,方能有序运行。网络安全进化到内生安全时代,以框架为起点,规划全景,技术内生外长,不断叠加,形成新一代网络安全之道。2020北京网络安全大会(BCS2020)已...

悬镜
昨天
0
0
zoom免费用户无法在中国登陆,RHUB免费续航zoom

中美关系日趋紧张,许多产品强制要求用户站队,zoom已经做了选择,抛弃众多信任、认可zoom产品的用户。微软选择坚持为中国用户提供服务,谁又说得来明天会如何?我们如此泱泱大国,竟要受制于...

osc_gt7nq50v
17分钟前
10
0
kubernetes 安装笔记

ssh -p 9000 root@127.0.0.1 192.168.56.101 master-node 192.168.56.102 work-node1 192.168.56.103 work-node2 由于kubeadm 默认从官网k8s.grc.io下载所需镜像,国内无法访问,因此需要通过......

solate
17分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部