一、背景
实验室之前的一个小车项目,想用CAN总线作小车各个部分的通讯,而且是想用实时Linux系统—xenomai。但是针对这种不是很常用的实时系统,一般厂商不会提供带这种系统的驱动的设备。于是找到了PEAK-System的产品,因为主板是用的研华PC104标准的工控机PCM3362,所以选择的CAN卡是PC/104接口—PCAN-PC/104,CAN卡和PC104通过PC104插槽连接(驱动程序对PC104和ISA接口没作区分)如下图示
二、本篇文章的目的
在我用这个产品的Linux驱动,并测试CAN发送接收功能的过程中,遇到了一些问题,最后也解决了。在此将这个过程记录下来。供学习参考。
同时,我觉得PEAK-System的驱动程序源码写的非常好看,打算学习一下它们的程序设计风格,在我接下来的项目中模仿它们的风格写自己的驱动程序。另外我非常想吐嘈一下研华的CAN卡产品,驱动做的很烂,而且只支持很老的Linux内核版本,更不要说支持实时Linux了,而且驱动程序源码也写的不好。
三、测试过程和问题以及解决方法
要使用产品提供的驱动程序,并自己的计算机上编译并装载,当然得主要看产品给的驱动程序使用说