ploughman
驱动牛犊
驱动牛犊
  • 注册日期2004-09-01
  • 最后登录2009-06-01
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望112点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1475回复:6

请教:能否用通俗的语言,说明USB系统的固件程序,驱动程序,应用程序以及硬件电路直接的关系。

楼主#
更多 发布于:2009-05-11 15:19
以及开发过程中的顺序?我还没有概念
study to all
wanganl
驱动牛犊
驱动牛犊
  • 注册日期2009-03-31
  • 最后登录2009-06-18
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望171点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-05-13 11:53
我的理解:

开发顺序:
先硬件,后固件,后驱动和应用程序。

关系:
用户数据传给应用程序,方式为敲键盘
应用程序传给设备驱动程序,方式为IRP
设备驱动程序传给总线驱动程序,方式为URB
总线驱动传给主机控制器,方式不知道(也不需要知道)
主机控制器传给设备控制器总线接口模块,方式为总线传输
总线接口模块传给固件程序,方式为外部电路写CPU内存或外存
固件程序传给闪存,方式为CPU内存或外存写外部电路

啥叫IRP和URB我强烈建议你自己查,我没法提供更通俗语言了。
ploughman
驱动牛犊
驱动牛犊
  • 注册日期2004-09-01
  • 最后登录2009-06-01
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望112点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-05-15 10:02
谢谢你,还有个问题,如果我硬件已经做好,但是没有烧写固件,这时候插上电脑的usb接口,是否可以检测到新硬件?如果没有任何反应的话正常么?
study to all
hanzn
驱动牛犊
驱动牛犊
  • 注册日期2004-11-25
  • 最后登录2009-05-20
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望50点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2009-05-15 15:03
二楼的朋友谈的HOST端的过程,但楼主想问的好像是Device端的。

楼上的: Device端看你采用什么样的USB芯片,有些USB芯片集成了枚举过程,也就是说不用你写一行代码,就可以完成枚举,我以前开发过Toshiba T900系列就是这样,但大部分设备是需要固件编程的。
Nirvanayq
驱动牛犊
驱动牛犊
  • 注册日期2009-05-21
  • 最后登录2010-01-08
  • 粉丝0
  • 关注0
  • 积分69分
  • 威望521点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2009-05-21 15:28
我认为上位机能检测到新硬件,因为总线一接通,设备端上拉电阻被上拉,然后主机端就会检测到信号,右下角提示发现新硬件。有的芯片,如F340系列芯片可以编程控制断开 / 连接设备,也是通过控制禁止 / 使能上拉实现的。
cms03031516
驱动牛犊
驱动牛犊
  • 注册日期2009-05-05
  • 最后登录2009-09-19
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望111点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2009-05-22 10:46
我最近也在学,顶一下
顺便问下你们用的是什么工具及开发模式,WDM,WDF?
lufanshui
驱动牛犊
驱动牛犊
  • 注册日期2009-05-21
  • 最后登录2009-05-22
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望101点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2009-05-22 14:46
回答的很好
游客

返回顶部