技术问答
RTX问题解答

RTX下的驱动开发

日期:2019-06-19来源:

 

RTXWindows的实时扩展,RTX的出现,使得用户既可以利用Windows的良好界面,又使应用具有了微秒级的实时特性。

RTX不仅支持PCIISA总线的板块,也支持PCI-E总线板卡。在驱动开发上,PCIISAPCI-E板卡开发方法没有任何区别,RTX提供了良好驱动开发框架,通过设置向导,用户可以选择需要的功能模块,如:内存映射,I/O映射,ISRIST等。

RTX对中断类型的支持,不仅包括line-based类型,还包括MSIMSI-X中断类型。当然,对MSIMSI-X中断类型,需要硬件板卡具有此中断功能。目前,符合PCI2.2协议的板卡和PCI-E板卡一般都支持MSIMSI-X中断。

下面简单介绍RTX的驱动框架,

1. 用搜索函数来搜索指定的设备,开发人员需要将device ID Vendor ID 指定。

2. 用初始化函数来初始化搜索到的指定设备。

2.1 使能I/O。(如果在构建框架时选择了I/O映射)

2.2 将物理内存地址,寄存器地址进行映射,这杨,开发人员对设备寄存器的访问就如同对数组的访问一样简单。

2.3 根据需要,对设备寄存器进行相应的配置。

3. 探测板卡是否支持MSIMSI-X中断。

4. 根据中断类型来设置参数,包括中断服务程序。

5.挂接中断。

以上是驱动的大致框架,开发人员可以根据需要,封装成自己的函数,以方便应用层的开发。驱动程序可以被编译成RTSS文件或RTDLL文件。若不希望驱动代码泄露,可以编译成RTDLL文件,只需提供函数接口即可。