nvidia jetson tx2 can module



nvidia@tegra-ubuntu:/lib/modules/4.4.15$ lsmod
Module                  Size  Used by
mttcan                 60210  0
can_dev                13393  1 mttcan
can_raw                 9004  0
can_gw                 10262  0
can_bcm                15298  0
can                    46782  3 can_gw,can_bcm,can_raw


can, can_bcm, can_gw, can_raw: .ko is under ../kernel/drivers/net/can

can_dev: .ko is under ../kernel/net/can

mttcan: .ko is under ../t18x/drivers/staging/mttcan

接下来会对各个模块进行分析。


ifconfig can

sudo ip link set can0 type can bitrate 1000000

sudo ip link set up can0

ip -s -d link show can0

candump can0


To test the can bus:
In one terminel, I run:
sudo ip link set can0 type can bitrate 500000
sudo ip link set up can0
candump can0

In second terminel, I run:
sudo ip link set can1 type can bitrate 500000
sudo ip link set up can1
cansend can1 1F334455#1122334455667788


下载并编译can-utils

git clone https://github.com/linux-can/can-utils.git

Canutils是基于GNU GPLv2许可的开源代码,包括canconfig、canecho、cansend、candump、cansequence五个工具,用于检测和监控Socket CAN接口。

(1)下载canutils的最新源码http://www.pengutronix.de/software/socket-can/download/canutils 。笔者下载的是canutils 4.0.6。
        (2)因为canutils编译需要libsocketcan库的支持,需要下载libsocketcan。http://www.pengutronix.de/software/libsocketcan/download/ 笔者下载的是libsocketcan 0.0.9。
        (3)解压libsocketcan-0.0.9.tar.bz2。执行configure命令。(其中--host是指定交叉工具链,--prefix是指定库的生成位置)
        ./configure --host=arm-none-linux-gnueabi --prefix=/home/linux/workdir/can/tools/libsocketcan
        (4)执行make编译库;
        (5)执行make install 生成库。至此,libsocketcan编译完毕。
        (6)解压canutils-4.0.6.tar.bz2,执行configure命令。(其中--host是指定交叉工具链,--prefix是指定库的生成位置,libsocketcan_LIBS是指定canconfig需要链接的库,LDFLAGS是指定外部库的路径,CPPFLAGS是指定外部头文件的路径)
        ./configure --host=arm-none-linux-gnueabi --prefix=/home/linux/workdir/can/tools/canutils libsocketcan_LIBS=-lsocketcan LDFLAGS=-L/home/linux/workdir/can/tools/socketcan/lib CPPFLAGS=-I/home/linux/workdir/can/tools/socketcan/include
        (7)修改完成执行make命令,生成四个目录,分别拷贝到开发板文件系统的相应目录。
        (8)使用canutils工具。(可以使用[命令 + --help]的方式来查看命令的详细用法,下面只介绍一些常用的指令)

① 配置CAN的总线通讯波特率:
        canconfig canX bitrate + 波特率


图7 使用canutils 工具设置CAN总线波特率

② 开启 / 重启 / 关闭CAN总线
        canconfig canX start
        canconfig canX restart
        canconfig canX stop


图8 设置CAN总线状态

③ 查看CAN总线状态
        canecho canX


图9 查看CAN总线状态

④ 发送信息
        cansend canX –-identifier=ID + 数据


图10 CAN总线发送数据

⑤ 接收数据
        candump canX


图11 CAN总线接收数据

⑥ 使用滤波器接收ID匹配的数据
        candump canX –-filter=ID:mask


图12 CAN总线使用滤波器接收匹配数据




  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值