问题描述:
作为一个职场新人上周技术老大交给一个任务,让去了解CAN总线,打算让做这方面的事,然后扔给一个IMX6的板子,让自己去测试上面已经移植好了的一个驱动。翻了翻之前买的书,发现在嵌入式这块,好像很多书籍上面都没有对CAN总线驱动有一个详细的描述,网上好像也就CSDN上有那么几篇文章介绍,然后就都是一些原理上的秒速,找起来很头疼,然后就这一周的学习情况做一个总结。
查看驱动信息:
第一步:
拿到板子之后,因为是才接触这个项目所以满满的都是陌生感啊...........................................................
到/dev下面去找can总线的设备节点:
cd /dev
ls
然后发现居然没有任何一个设备是和can设备相关的描述(瞬间懵逼.............),这是因为在linux2.6之后就把can归类到net目录下了,访问根据是socket CAN分配网络端口(INTERFACE)和索引接口(IFINDEX)来进行数据交互的。
第二步:
到/sys/class下面去找设备文件,找了老半天,发现原来是在/sys/class/net目录下
第三步:
查看驱动与上层应用的交互信息: cat uevent (该文件在/sys/class/net/can目录下)
得到:
INTERFACE = can0 端口
IFINDEX =