chencheng
驱动小牛
驱动小牛
  • 注册日期2003-06-27
  • 最后登录2007-08-30
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1164回复:6

菜鸟问题:这个isa问题解决了,疯狂给分,要多少分给多少分。只要你回答,都有分,灌水都算数!!!!

楼主#
更多 发布于:2004-04-16 20:30
 大虾们  
  我正在用driverwork做一个非pnp的isa卡驱动,
   地址:0x340-0x341,
  在inf中我是这么写的:ioconfig=340-341 这个写了之后还用向系统 reaport吗?怎么reaport呢?
  然后怎么在驱动中从340里面读写数据呢?用READ_PORT_UCHAR()
WRITE_PORT_UCHAR()?
  还是利用DriverWorks中的KioRangle类的in和out?
 但是如果用READ_PORT_UCHAR()的话需要一个dx参数,我怎么能得到这个参数呢?
 如果用KioRangle类的话,因为有两个端口,我要生成两个对象?
还是说只生成340端口这一个就行了?然后341的那个端口的offset=1?
比如:KioRangle port;
   port.inb(offset);
   port.outb(offset,xxx);
大家准备着得分吧!
好好学习,天天向上
chencheng
驱动小牛
驱动小牛
  • 注册日期2003-06-27
  • 最后登录2007-08-30
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-04-16 22:28
大家怎么不来拿分呢? :mad:
好好学习,天天向上
chinalei
驱动小牛
驱动小牛
  • 注册日期2003-05-07
  • 最后登录2008-11-20
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望6点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-04-17 21:21
如果用driverstudio开发的话,在Wizard生成框架时,只需设置一个Io即可,并且io的长度就是你的ISA卡占几个地址数,当然这个长度也可以在inf文件中的ioconfig中修改:ioconfig=2@0340-0341,其中@前的2表示你的地址数。在驱动中就不需要标明你的地址了,它会在startdevice里读取你在inf文件里设置的地址,并把它当作基地址。当进行IO读写时,如果你想往0x341地址写数据,如下:
KIoRange port;
port.outb(0x1,dada);//此处的0x1是你的基地址的偏移
或ULONG status=port.inb(0x0)//从0x340地址读数
其中的基地址是由inf文件安装时决定的,port的读写所用的是偏移!
Are you clear?
生活咋能这样呢!
chencheng
驱动小牛
驱动小牛
  • 注册日期2003-06-27
  • 最后登录2007-08-30
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-04-18 18:35
thank you
it very good
给分!!!!
好好学习,天天向上
pengfeu
驱动牛犊
驱动牛犊
  • 注册日期2004-03-27
  • 最后登录2004-07-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-04-19 10:03
请问你在做驱动时如何得到ISA的内存地址的?我现在也在做ISA驱动windriver无法取得内存地址,需要我手动设置。请问如何才能得到呀????
chinalei
驱动小牛
驱动小牛
  • 注册日期2003-05-07
  • 最后登录2008-11-20
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望6点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-04-19 12:17
请问你在做驱动时如何得到ISA的内存地址的?我现在也在做ISA驱动windriver无法取得内存地址,需要我手动设置。请问如何才能得到呀????

不好意思,我也是才开始学WDM驱动,了解的很少。我所做的ISA卡只涉及到IO地址,关于内存地址我也没有研究,暂时不能告知!另外,对WinDriver我不熟悉,在DRIVESTUDI中有一个KMemoryrange类,可看一下
生活咋能这样呢!
pengfeu
驱动牛犊
驱动牛犊
  • 注册日期2004-03-27
  • 最后登录2004-07-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-04-19 15:59
我要做的isa卡的驱动也只是涉及io地址。但是我不知该如何得到此卡的io地址。查看相关资料有提及到将操作地址228H由计算机的数据线的D0-D7打入。能否认定228H就是起始地址。卡上的内存为2KB字节,如果228H是起始地址那它的终止地址是多少呢???
游客

返回顶部