天嵌 ARM开发社区

 找回密码
 注册
查看: 3977|回复: 2

I.MX6Q学习笔记——新版BSP之CAN移植

[复制链接]
freewing 发表于 2015-5-21 15:14:10 | 显示全部楼层 |阅读模式
 本文由资深博主girlkoo编写,针对开发平台为E9与TQIMX6Q开发平台。现在,我们来移植CAN。其实这里所谓的移植,仅仅是配置DTS,使内核能够检测到CAN设备,CAN驱动本身是freescale维护的。下面开始CAN的移植。
  DTS编写
  参考imx6q其它的DTS编写方式,我们可以如下编写DTS文件:
  1. ...  
  2.   
  3. &flexcan1 {  
  4.     pinctrl-names = "default";  
  5.     pinctrl-0 = <&pinctrl_flexcan1_3>;  
  6.     status = "okay";  
  7. };  
  8.   
  9. &iomuxc {  
  10.   
  11.     ...  
  12.   
  13.     flexcan1 {  
  14.         pinctrl_flexcan1_3: flexcan1grp-3 {  
  15.             fsl,pins = <  
  16.                 MX6QDL_PAD_GPIO_7__FLEXCAN1_TX 0x80000000  
  17.                 MX6QDL_PAD_GPIO_8__FLEXCAN1_RX 0x80000000  
  18.             >;  
  19.         };  
  20.     };  
  21. };  
复制代码


  因为imx6qdl.dtsi中没有适合tqimx6q的pinctrl配置,因此,需要在我们的DTS文件中添加,然后将相关配置添加到flexcan1定义中即可。将以上内容追加到DTS后重新编写并烧写,用新的DTB启动开发板后通过ifconfig可以查看到CAN设备。
  测试方法

  由于我手头没有USB转CAN设备,暂时没有办法测试CAN是否已经正常工作,仅能通过指令查看到内核已经识别到了CAN设备,从经验上看,应该没有什么问题。指令查看CAN设备的方法与查看网卡设备的方法类似,执行指令:
  1. ifconfig -a  
复制代码


  执行效果如下:
  1. @tqimx6q #ifconfig -a  
  2. can0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00   
  3.           NOARP  MTU:16  Metric:1  
  4.           RX packets:0 errors:0 dropped:0 overruns:0 frame:0  
  5.           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0  
  6.           collisions:0 txqueuelen:10   
  7.           RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)  
  8.           Interrupt:142   
  9.   
  10. eth0      Link encap:Ethernet  HWaddr 42:75:18:94:C8:11   
  11.           BROADCAST MULTICAST  MTU:1500  Metric:1  
  12.           RX packets:0 errors:0 dropped:0 overruns:0 frame:0  
  13.           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0  
  14.           collisions:0 txqueuelen:1000   
  15.           RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)  
  16.   
  17. lo        Link encap:Local Loopback   
  18.           LOOPBACK  MTU:65536  Metric:1  
  19.           RX packets:0 errors:0 dropped:0 overruns:0 frame:0  
  20.           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0  
  21.           collisions:0 txqueuelen:0   
  22.           RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)  
  23.   
  24. sit0      Link encap:IPv6-in-IPv4   
  25.           NOARP  MTU:1480  Metric:1  
  26.           RX packets:0 errors:0 dropped:0 overruns:0 frame:0  
  27.           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0  
  28.           collisions:0 txqueuelen:0   
  29.           RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)  
复制代码


  其中,can0就是tqimx6q的CAN设备。至此,CAN设备的移植工作就完成了,之后搞个CAN调试工具再来补充完整的测试方法。以上移植如有问题,请帮忙指出,有任何疑问欢迎留言讨论。









评分

参与人数 1 +8 收起 理由
time + 8 很给力!

查看全部评分

goaha 发表于 2017-3-8 18:10:28 | 显示全部楼层
顶一下。正需要此资料。
jamesRobort 发表于 2017-9-27 10:00:03 | 显示全部楼层
顶顶顶顶顶顶顶顶顶顶顶顶顶
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-26 11:23 , Processed in 1.031250 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表