我有两个问题想请教各位师兄:
1.能给我一个编写pci驱动程序的步骤吗?最好有一个模板,就是已经编写好的驱动程序。我想学习一下。
因为看了两天这方面的资料也不是很明白,如果能帮我一下,效果会好很多。
2.tornado下面的pci配置程序,是不是已经负责把pci找到了,换句话说:就是编译好的bsp是不是已经包含pci驱动了?而我所要编写的就是去某个端口取数据。是这个样子吗?
如果不是上面所述的话,那么bsp下的pci配置程序又是起什么作用的?
谢谢各位师兄!
最佳回复
1楼
在BSP里面是要包含INCLUDE_PCI这个组件和其它相应配置,不过这些通常参考BSP里面就配置了的。 PCI总线使用了映射的概念,啥意思呢,就是把PCI总线上的东西跟普通存储或者IO总线上的东西在访问方式上保持一致,把PCI的IO\MEM空间映射到系统中来,感觉就好像在普通总线上一样。最终对编程来说,操作PCI总线上的MEM和IO和操作非PCI上的MEM和IO一样,地址编排、访问函数都一样的。我说清楚了没有? 啊x86的IO和MEM是独立编址的,有些CPU不是。VxWorks中访问IO端口的函数有sysOutByte/sysInByte等类似函数,MEM则可以通过指针或者直接内存读写来操作。 关于status的含义,你说的应该是STATUS吧。这些是基本的东西,在你开始做从事软件开发工作前,必须具备相关C预言的使用通行规则,这可能需要一些时间和积累。可以阅览相关的头文件和源文件,找到它的定义。--每一个非标准C预言数据类型都是有定义来源的,通常在头文件中。查找的话,可以在文件中搜索就可以得到。