求助vxworks的pci驱动问题 vxbus

你们这帮大水彩笔 2013-08-19 11:43:06
目前在vxwork下面做一个pci板子的驱动 当前目标是读写寄存器 用的是vxbus 系统是64位的
首先在BSP中注册用有dr dc mk .c IMAGE里面没有注册这个硬件
(struct vxbDevRegInfo *)NULL,
VXB_DEVID_DEVICE,
VXB_BUSID_PCI,
VXB_VER_5_0_0,
"pcie",
&PciExFuncs,
PciEx_methods,
NULL,
NULL
},
NELEMENTS(DevIDList),
DevIDList
然后在PciExInstInit2 里面做了初始化和映射
vxbRegMap(pInst, 0, &pDrvCtrl->regHandle);
启动vxwork系统以后 通过串口输出调试 用vxbusshow能够看到这个硬件的信息
pInst->pRegBase[0]这个里面是有地址的,这个应该就是basememory吧?0xffff800024021000
我当时也注册了两个method用来给应用调用 分别是read和write
我在image的usrAppInit函数里面用vxbDevMethodRun
vxbDevMethodRun(DEVMETHOD_CALL(busCtlrDevCfgWrite),19) != OK)
发现vxbDevMethodRun返回是成功的 但是没有进入我自己写的write函数
如果在BSP的usrAppInit函数里面用vxbDevMethodRun去write一个值 vxwork启动的时候在bsp那里就会报错
PciExMethodDevCfgWrite函数内容如下 addr是我用来测试的一个offset 是可以进行read和write的
vxbWrite64 (PCIEX_HANDLE(pDev),
(UINT64 *)((UINT64)pDev->pRegBase[0] + (UINT64)addr),
data);

...全文
758 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
完事了 偏移地址问题
  • 打赏
  • 举报
回复
忘记说了 vxwork是6.9的 64位的 sandybridge。
  • 打赏
  • 举报
回复
不小心回车了 问题在这里 1.注册硬件是不是要在bsp和image里面都要做 2.目前我觉得应该是map上了 那么我做寄存器write的时候 要在bsp的usrAppInit里面做呢 还是在image的usrAppInit里面做 3.还有没有什么其他的方式能够验证我写的write和read是正确的啊? 4.我并没有把硬件注册到image里面 是不是这样会导致image里面的usrAppInit不能正常调用我写的write函数
  • 打赏
  • 举报
回复
引用 7 楼 hezhe1008 的回复:
pciFindDevice pciConfigInLong 都用了吗?
我用的是vxbus的方式去做的
呔妖怪来嘛 2013-08-19
  • 打赏
  • 举报
回复
pciFindDevice pciConfigInLong 都用了吗?
  • 打赏
  • 举报
回复
引用 4 楼 hezhe1008 的回复:
坐在镜像里就可以了 ,镜像是包含BSP的 最好是做一个DOWNLOAD,方便调试
还有就是DOWNLOAD是什么意思啊?
  • 打赏
  • 举报
回复
引用 4 楼 hezhe1008 的回复:
坐在镜像里就可以了 ,镜像是包含BSP的 最好是做一个DOWNLOAD,方便调试
那我在image的usrAppInit 里面运行vxbDevMethodRun 在系统 start 以后 就会自动重启了 if (vxbDevMethodRun(DEVMETHOD_CALL(busCtlrDevCfgWrite),2) != OK) printf("Run Method write failed!\n"); else printf("Run Method write OK!\n"); PciExMethodDevCfgWrite里面的代码是 vxbWrite64 (PCIEX_HANDLE(pDev),(UINT64 *)((UINT64)pDev->pRegBase[0] + (UINT64)addr),data); 然后我加了一个sleep(10000); 在vxbDevMethodRun之前 然后就正常启动了 但是也没有调用write函数
呔妖怪来嘛 2013-08-19
  • 打赏
  • 举报
回复
坐在镜像里就可以了 ,镜像是包含BSP的 最好是做一个DOWNLOAD,方便调试
xuxingok 2013-08-19
  • 打赏
  • 举报
回复

2,179

社区成员

发帖
与我相关
我的任务
社区描述
xworks是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。
社区管理员
  • VxWorks开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧