lilo
驱动牛犊
驱动牛犊
  • 注册日期2001-05-24
  • 最后登录2008-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
阅读:2547回复:7

BUS DRIVER对Config Rom信息的处理。

楼主#
更多 发布于:2002-01-30 11:13
有哪位大虾知道BUS DRIVER对1394设备的Config Rom信息的处理细节。当有设备插入的时候,系统会发下查询DeviceID,InstanceID,HardwareID,CompatibleID的IRB,我们要从到设备的ConfigRom中得到相关的信息并返回给系统。但是,设备的ConfigRom因厂家而异,有些甚至连VendorID和ModelID都会省略掉,那总应该有一个查询的策略在吧,Who knows?maybe only MS knows.
不知道四个都返回CompatibleID是否合适,因为CompatibleID是到现在为止我看到的所有厂家的设备的Config Rom中都必有的信息。
Master_Yi
驱动牛犊
驱动牛犊
  • 注册日期2002-04-04
  • 最后登录2004-06-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-04-04 13:20
你是在做DRIVER吗?还是在做1394设备?我看着好象是要做DRIVER.可据我所知MS的OS从98到XP都支持1394 OHCI的呀,还要你写什么DIRVER.真要写,也就是照着1394 OHCI的SPEC去写呀,我看你也不说设备与主机的接口方面的问题,而只问1394 上的东东,这些在1394 OHCI的SPEC里都有.但是,MS都做好了呀,干吗还要写?是不是做的1394外接设备的程序呀,不是OHCI的DRIVER?
我读书少,不要欺负我呀!
lilo
驱动牛犊
驱动牛犊
  • 注册日期2001-05-24
  • 最后登录2008-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-04-05 08:43
这位大虾先下下火(做硬件的说话也不用这么硬吧),喝杯凉茶,待我慢慢道来:
1.我写的就是Windows 1394 Bus&Ohci Driver.公司有生产1394 host controller硬件,所以需要一层直接控制host controller硬件的软件的支援debug,也可以随1394 host controller一起卖出去,能提高硬件的竞争力。试想当你用微软的driver调试自己的1394 host controller的时候,隔了一层软件,不能提供源码级的调试,效率可能不会太高的。
2.还有,有了这个driver,就可以上通Device driver,下达1394 host controller,对以后编写1394 device driver也提供了很大的方便。
cathyLH
驱动牛犊
驱动牛犊
  • 注册日期2002-04-04
  • 最后登录2004-08-28
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-04-05 09:53
Hi Lilo,
你可以试着考虑一下GUIDHi和GUIDLo两个register
lilo
驱动牛犊
驱动牛犊
  • 注册日期2001-05-24
  • 最后登录2008-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-04-08 08:52
谢谢CathyLH.
GUIDLO和GUIDHI得到的是硬件的GUID标识,而我要得到的是类似VENDOR ID或者MODEL ID之类的标示,以便在注册表enum分支里标示不同设备。系统会利用这个标示去查找相应的驱动安装文件。根据微软驱动对现有设备的操作分析,现在已经暂时找到了一种不是最好但是可以用的标示策略了。
cathyLH
驱动牛犊
驱动牛犊
  • 注册日期2002-04-04
  • 最后登录2004-08-28
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-04-08 17:46
什么策略?是查表吗?我知道很多人利用这种方法。
lilo
驱动牛犊
驱动牛犊
  • 注册日期2001-05-24
  • 最后登录2008-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-04-09 08:31
真的很不好意思,公司不让往外泄漏这种技术细节信息的,见谅。


roc999
驱动牛犊
驱动牛犊
  • 注册日期2002-03-15
  • 最后登录2005-05-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-04-12 00:43
小弟不才,又要问弱智问题了。
高手莫笑。

你们讲到的Config Rom 的信息,不知道存放在那里?是在phy芯片的寄存器里面?
我使用的phy芯片是tsb41ab1.里面有几个寄存器叫做Vendor ID Register Configaration.

有Compliance, Vendor_ID , Product_ID.当bus reset之后我是不是可以读这些寄存器来找到我自己需要的挂在1394总线上设备? 万一总线上面有两个设备都使用的 tsb41ab1呢?

另外还有几个寄存器是写的reserved 和reserved for test.
小弟斗胆问一句,reserved 的寄存器我可以写吗?我想用它来表示自己的设备。


我正在读ti王站上面找到的一个资料lynxsoft 1394 software application programer user guid.
里面讲到在bus reset之后 应用程序进行bus enumaration
这时候可以用两种办法找到自己想要通信的设备:
1: configaration rom
2: WWUID

我对后面一种方法一无所知,有人能告诉我吗?
继续学
游客

返回顶部