随笔分类 -  Vxworks环境开发

摘要:接上一篇博文,当将PCI设备空间的资源映射出来之后。只需要做两件事情,PCI设备的基本框架就建立起来了。首先注册驱动程序,调用如下函数:int iosDrvInstall() / STATUS iosDevAdd()先来讲int iosDrvInstall()函数:Int iosDrvInstall( FUNCPTR pCreate, FUNCPTR pDelete, FUNCPTR pOpen, FUNCPTR pClose, FUNCPTR pRead, FUNCPTR pWrite, FUNCPTR pIoctl /*pointer to driv... 阅读全文
posted @ 2012-03-05 22:08 KingsLanding 阅读(2579) 评论(0) 推荐(0) 编辑
摘要:pci设备驱动开发,首先是要发现pci设备,从中获得pci设备的配置空间,并从中得到基本基本的资源信息。首先进行pci设备查找的函数为:STATUS pciFindDevice( int vendorId, int deviceId, int index, int *pBusNo, int *pDeviceNo, int *pFuncNo )函数中的参数从命名来看都很好理解,注意第三个参数 ‘index’,这是在系统中有多个pci设备时我们需要从0开始查找,知道查找到我们想要驱动设备(第一个参数vendor... 阅读全文
posted @ 2012-02-29 19:55 KingsLanding 阅读(6552) 评论(0) 推荐(0) 编辑
摘要:Vxworks内核驱动基本结构:三张表:1. 系统设备表 2. 系统驱动表 3. 文件描述符表Vxworks 内部对每个设备使用DEV_HDR 数据结构进行表示:Typedef struct{ DL_NODE node; Short drvnum; Char *name;}该结构中给出了链接指针(用以将该结构串入队列中)、驱动索引号、设备节点名称。内核提供这个结构较为简单,只存储了一些设备的关键信息。底层驱动对其驱动的设备都有一个自定义数据结构表示,其中包含了驱动设备寄存器基地址,中断号,可能的数据缓冲区,保存内核回调函数的指针,以及一些标志位。最关键的... 阅读全文
posted @ 2012-02-18 10:38 KingsLanding 阅读(6062) 评论(0) 推荐(0) 编辑
摘要:基于Vxworks开发,一般都使用WindRiver work bench。 我使用的是WindRiver workbench3.0 。 下面来介绍一下如何使用WindRiver workbench。如何安装就不详细说了,在win7和xp上都可以很容易的安装成功,但是注意在选择key的时候,那是一个.txt的文件。第一步:建立工程第二步:第三步:选择Deselect All,然后根据你用的芯片来选择合适,这个主要用来生成.out文件第四步:右键点击所建立的工程,选择Properties,主要是为了配置一些参数。第五步:在Build Tools 中选择 Command 在最后加上 -mlon.. 阅读全文
posted @ 2012-02-18 10:22 KingsLanding 阅读(8951) 评论(0) 推荐(2) 编辑

点击右上角即可分享
微信分享提示