iMX6DL sabreSD的开发板的Flexcan不能工作(已解决)

2020-02-21 21:03发布

本帖最后由 FSL_TICS_ZJJ 于 2014-5-7 10:24 编辑

第一次用 iMX6 的处理器,第一次用 Linux ,才开始学习。
基本情况:
host:ubuntu 12.04 LTS,安装 NFS和TFTP服务;
采用LTIB编译的内核镜像,用的是 L3.0.35-4.1.0-130816;
开发板:FSL原厂的SabreSD,处理器是 IMX6DL;
用 TFTP 的方式加载 kernel ,用 NFS 方式加载 ROOTFS,启动正常;
正常调试:  
已经通过访问字符设备的方式 使用串口收发正常;
使用套接字的方式访问以太网接口,收发正常;

通过LTIB,配置内核,添加了与CAN 有关的驱动模块,编译,
添加 libsocketcan 和 canutils,并且 ./ltib -p libsocketcan.spec -f 以及 ./ltib -p canutils.spec -f
目前存在的问题:回环模式能发不能收,正常模式发送就会导致 BUS-OFF

目前发现问题如下:
(1)  Chip scan failed
(2) 启动过程中注册的flexcan.1 ,而不是正常的 flexCAN.0 ,我采用 cansend can0 ,发送应该就会错误,但不知道如何纠正。
root@freescale ~$ dmesg | grep can
Chip scan failed
vcan: Virtual CAN interface driver
flexcan netdevice driver
flexcan imx6q-flexcan.1: device registered (reg_base=ea9a8000, irq=143)
can: controller area network core (rev 20090105 abi 8)
can: raw protocol (rev 20090105)
can: broadcast manager protocol (rev 20090105 t)
flexcan imx6q-flexcan.1: writing ctrl=0x0e312005
flexcan imx6q-flexcan.1: flexcan_set_bittiming: mcr=0x5980000f ctrl=0x0e312005
flexcan imx6q-flexcan.1: flexcan_chip_start: writing mcr=0x7de2020f
flexcan imx6q-flexcan.1: flexcan_chip_start: writing ctrl=0x0e31ec55
flexcan imx6q-flexcan.1: flexcan_chip_start: reading mcr=0x6de2020f ctrl=0x0e31ec55

第一次用linux 和imx6。可能问题比较初级,还请大家赐教一二。谢谢啦
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
18条回答
FSL_TICS_Rita
2020-02-22 18:54
leoyang 发表于 2014-4-2 14:09
******
结贴:
******

非常高兴楼主已经把问题解决了,i.mx6dl sabre-ai 的板子是支持Flexcan的。所以,在使用的时候在u-boot bootargs t中要先enable can0 interface,同时设置正确就可以正常工作了。
很抱歉给你回复晚了,一开始你没有说是用的i.mx6dl sabre-ai 的板子,我以为你用的是i.mx6dl-sdp这块板子,这块板子不支持flexcan,所以在使用的时候要修改一些内容才支持。
欢迎楼主有问题在本论坛中创贴,大家一起交流学习~~感谢楼主对我们工作的支持,非常感谢~~

一周热门 更多>