jobshmm
驱动牛犊
驱动牛犊
  • 注册日期2004-03-22
  • 最后登录2018-05-25
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
阅读:945回复:2

请问驱动程序是如何实现与固件的通信的?

楼主#
更多 发布于:2004-06-11 16:39
驱动和应程是通过类似:DeviceIoControl()――>DeviceControl()这种对应关系可实现通信,当然也有别的通信方式,但驱动中的含有IOCTRL的DeviceControl()怎样让固件中对应的服务函数得到调用?。就假如IOCTRL码为“获取设备描述符”的DeviceControl(),固件如何知道应该调用GetDeviceDiscriptor()(此函数是固件中标准设备请求“获取设备描述符”的服务程序名字,函数名因编写者的不同而互异)?

请大家帮忙!
metalwing
驱动中牛
驱动中牛
  • 注册日期2003-10-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分178分
  • 威望58点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-07-02 15:17
驱动程序要向固件发送命令的呀。固件接到这个命令后对这个命令进行解析,然后再作相应处理。
比如驱动程序街道获取设备描述符的请求,他就建立一个厂商请求buildervendorrequest(...)(USB设备)发给固件,固件程序在接到该请求后,从命令码中就能解析出用户请求是要获取设备描述符。对于自定义命令也是一样的,只不过要在固件程序中作一些判断。
新手上路,请多关照.
metalwing
驱动中牛
驱动中牛
  • 注册日期2003-10-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分178分
  • 威望58点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-07-02 15:18
驱动程序中的定义与固件不同还叫什么驱动程序呢?
此函数是固件中标准设备请求“获取设备描述符”的服务程序名字,函数名因编写者的不同而互异
新手上路,请多关照.
游客

返回顶部