QCS6490(Android 平台) canutils-4.0.6 编译(CAN总线测试)

本文详细介绍了canutils-4.0.6在Android平台的编译过程,特别是cansend和candump工具的应用,以及在移植过程中遇到的问题和解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要

本文介绍canutils-4.0.6在Android平台的编译生成可执行文件,这个工具可以生成5个可执行文件(cansend candump canconfig 等),针对CAN总线的测试,主要是cansend /candump这两个足够了。

正文

1. 工具的介绍

CAN,Controller Area Network,控制器局域网,一种高可靠性的现场总线。广泛用于汽车电子、工业控制通信。

canutils 工具包内含 5 个独立的程序:canconfig、candump、canecho、cansend、cansequence。这几个程序的功能简述如下:

  1. canconfig:用于配置 CAN 总线接口的参数,主要是波特率和模式。
  2. candump:从 CAN 总线接口接收数据并以十六进制形式打印到标准输出,也可以输出到指定文件。
  3. canecho:把从 CAN 总线接口接收到的所有数据重新发送到CAN 总线接口。
  4. cansend:往指定的 CAN 总线接口发送指定的数据。
  5. cansequence:往指定的 CAN 总线接口自动重复递增数字,也可以指定接收模式并校验检查接收的递增数字。

2. 源码的下载

https://public.pengutronix.de/software/socket-can/canutils/v4.0/
根据需求现在自己的版本。
在这里插入图片描述

3.编译

网上介绍的编译大多数都是针对linux环境的,尝试过从linux环境中导出对应的可执行文件,push到Android设备中,报 inaccessible or not found 的错误,无法使用,只能下载源码编译。

编译canutils依赖libsocketcan,我再编译到的时候没有遇到,如果遇到了编译依赖问题请注意!!!

3.1 解压下载的压缩包

放到可以编译到位置,我这里放到了LA.UM.9.14.1.R1\vendor\xxxxxxx\common 下面,只要mm能编译到地方就可以,再每个需要编译的文件夹中建立对应的Android.mk

3.2 Android.mk 示例如下,以cansend为例,其他自行参照修改

在这里插入图片描述

3.3 编译中出现的错误

主要有两个错误,一个是头文件的#include <can_config.h> 直接注释掉,另一个是printf(“cansend %s\n”, VERSION);找不到VERSION定义的,注释掉或修改下不报错即可。

3.4 正确编译后生成的文件如下图,push到系统里面能执行则成功

在这里插入图片描述

3.5 可执行文件push到系统效果如下

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值