目前我在调试基于Linux的rapidio驱动,遇到了一些问题,希望能和各位一起探讨:
调试环境:
CPU:Intel Xeon E5-2648L
系统:ubuntu 16.04
板上RapidIO芯片:Tsi721
目前一共有3个版本的驱动:
- 使用系统自带linux驱动,能识别Tsi721,并且ID信息能正确读出来。即在sys/class/rapidio_port下有设备的端口节点,但在/dev目录下没有节点。按照相关文档的描述,测试rapidio使用的工具有3个,分别为file_transfer、goodput、rrmapcli,这3个工具我有源码,并且编译通过,但是readme文档中,写明了它必须通过/dev目录下的诸如/dev/rio_mport0 这样的设备节点才能访问硬件,但是驱动没有生成这个节点,不知道哪里还有问题。
- 使用IDT官方提供的驱动(https://github.com/RapidIO/kernel-rapidio),make编译,make install后,反而识别不到Tsi721,按照驱动目录下的README文档,在/sys/bus/rapidio/devices下应该能看到rapidio的节点,但是实际上没有看到。在sys/class/rapidio_port下也为空,在/dev目录下也找不到设备节点。
- 在IDT官网中,这个文档描述了一些有关linux的相关信息,但是下载后才发现它并不是基于ko形式来编译的,也就是说它是随系统启动而启动的,不知道这份资料有什么意义:https://www.idt.com/document/msc/s-rio-linux-support
于是,我建了一个QQ群(群号:554795990),如果你也有类似的问题,欢迎加入一起讨论。如果你有解决方法,也请赐教,不胜感激。上面提到的所有资料,我也会全部提供。