信迈AM5728 CAN总线测试及SDK升级

一、AM5728 CAN总线测试

开发板文件系统下执行如下指令,配置 CAN0 总线(软件上的 CAN0 对应为硬件上的

CAN1)比特率为 1MHz,并启动 CAN 总线:

Target# canconfig can0 bitrate 1000000

Target# canconfig can0 start

执行如下指令,监控接收 PC 端发送的数据:

Target# candump can0

信迈AM5728 CAN总线测试及SDK升级_第1张图片

 

PC上自动安装驱动

信迈AM5728 CAN总线测试及SDK升级_第2张图片

再打开调试仪器软件

 

信迈AM5728 CAN总线测试及SDK升级_第3张图片

 

一.先设置 com端,比特率为 1MHz,

二.任选数据 点发送 或循环发送

信迈AM5728 CAN总线测试及SDK升级_第4张图片

 

二、设备树升级移植

can ti am5728 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

 

    // 默认已经配置了交叉编译器。

ye@ye-ThinkPad-E420:~/Downloads/libsocketcan-0.0.11$ source ~/ti-processor-sdk-linux-am57xx-evm-05.01.00.11/linux-devkit/environment-setup

 

[linux-devkit]:~/Downloads/libsocketcan-0.0.11> ./configure --prefix=/home/ye/Downloads/libsocketcan-0.0.11/out  --host=arm-none-linux-gnueabi

 

[linux-devkit]:~/Downloads/libsocketcan-0.0.11> make

 

[linux-devkit]:~/Downloads/libsocketcan-0.0.11> make install

 

[linux-devkit]:~/Downloads/libsocketcan-0.0.11/out/lib> ls

libsocketcan.a   libsocketcan.so    libsocketcan.so.2.3.0

libsocketcan.la  libsocketcan.so.2  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

     chmod 777 . -R

 

    // 配置

   [linux-devkit]:~/Downloads/canutils-4.0.6>  ./configure --host=arm-none-linux-gnueabi --prefix=/home/ye/Downloads/canutils-4.0.6/out libsocketcan_  LIBS=-lsocketcan LDFLAGS="-L/home/ye/Downloads/libsocketcan-0.0.11/out/lib"      libsocketcan_CFLAGS="-I/home/ye/Downloads/libsocketcan-0.0.11/out/include"      

 

    make

    make install

 

    // 最后在 out/sbin  下能见到 canconfig 命令。

   [linux-devkit]:~/Downloads/canutils-4.0.6> ls out/sbin/

canconfig

Copy Canconfig 到板子的/sbin/目录 下

chmod 777 /sbin/ canconfig

 

 

板子出现 错误

root@am57xx-evm:/run/media/sda2/can/out/lib# canconfig can0 bitrate 1000000

canconfig: error while loading shared libraries: /lib/libsocketcan.so.2: file too short

解决方法:

root@am57xx-evm:/run/media/sda2/can/out/lib# rm  /lib/libsocketcan.so.2       

 root@am57xx-evm:/run/media/sda2/can/out/lib# ln -s /lib/libsocketcan.so.2.3.0

 

测试运行:

root@am57xx-evm:/run/media/sda2/can/out/lib# canconfig can0 bitrate 1000000

can0 bitrate: 1000000, sample-point: 0.750

root@am57xx-evm:/run/media/sda2/can/out/lib# canconfig can0 start

[  402.704469] c_can_platform 4ae3c000.can can0: setting BTR=4d00 BRPE=0000

can0 state: ERROR-ACTIVE

root@am57xx-evm:~# candump can0

[  666.993280] can: controller area network core (rev 20170425 abi 9)

[  666.999568] NET: Registered protocol family 29

[  667.012032] can: raw protocol (rev 20170425)

 

  can0  666   [8]  01 02 0A 0B 0C 0D 0E 0F

  can0  0AA   [8]  01 02 0A 0B 0C 0D 0E 0F

  can0  0BB   [8]  01 02 0A 0B 0C 0D 0E 0F

  can0  0CC   [8]  01 02 0A 0B 0C 0D 0E 0F

  can0  0DD   [8]  01 02 0A 0B 0C 0D 0E 0F

 

参考文章:https://www.cnblogs.com/chenfulin5/p/6797756.html

 

 

 

你可能感兴趣的:(TI_AM5728)