阅读:945回复:2
请问驱动程序是如何实现与固件的通信的?
驱动和应程是通过类似:DeviceIoControl()――>DeviceControl()这种对应关系可实现通信,当然也有别的通信方式,但驱动中的含有IOCTRL的DeviceControl()怎样让固件中对应的服务函数得到调用?。就假如IOCTRL码为“获取设备描述符”的DeviceControl(),固件如何知道应该调用GetDeviceDiscriptor()(此函数是固件中标准设备请求“获取设备描述符”的服务程序名字,函数名因编写者的不同而互异)?
请大家帮忙! |
|
沙发#
发布于:2004-07-02 15:17
驱动程序要向固件发送命令的呀。固件接到这个命令后对这个命令进行解析,然后再作相应处理。
比如驱动程序街道获取设备描述符的请求,他就建立一个厂商请求buildervendorrequest(...)(USB设备)发给固件,固件程序在接到该请求后,从命令码中就能解析出用户请求是要获取设备描述符。对于自定义命令也是一样的,只不过要在固件程序中作一些判断。 |
|
|
板凳#
发布于:2004-07-02 15:18
驱动程序中的定义与固件不同还叫什么驱动程序呢?
此函数是固件中标准设备请求“获取设备描述符”的服务程序名字,函数名因编写者的不同而互异 |
|
|