阅读:2300回复:9
EZ-USB driver开发(新手)几个困惑的问题~~~~~
看附带得pdf文件――EZ-USB General Driver。说可以以GPD(就是ezusbsys.c,在ezusbdrv文件夹内)出发,编写dirver.是这样的吗?
是不是以这个文件为基础,添加一些代码就可以了?比如我想使用bulk传输,就只需要再相应的地方写入bulk的代码?文件其他的地方就不需要作修改?是这样理解得嘛? 还有,ezusbsys.c中有个过程: NTSTATUS Ezusn_StartDevice(....) 中有一段如下: #ifdef DOWNLOAD_KEIL_MONITOR // // download the Keil monitor // // // First download loader firmware. The loader firmware implements a vendor // specific command that will allow us to anchor load to external ram // Ezusb_8051Reset(fdo,1); Ezusb_DownloadIntelHex(fdo,loader); Ezusb_8051Reset(fdo,0); // // Now download the Keil Monitor // Ezusb_DownloadIntelHex(fdo,mon51hi); Ezusb_8051Reset(fdo,1); Ezusb_8051Reset(fdo,0); #endif // if DOWNLOAD_KEIL_MONITOR 我的理解就是这里的代码的含义是我所开发的usb得firmware的固件下载,是这样的吗? 如果是的话,那么我就要把写好的固件程序(如果是*.hex文件)用ezloader编译成相应的c文件,做替换嘛?就象pdf文件――EZ Loader Custom USB Firmware Loader Driver中描述的那样嘛? 最后一个问题: 同样在ezusbsys.c中有个过程: NTSTATUS Ezusb_ProcessIOCTL(....) 是处理DeviceIoControl指令的地方,那么如何将这些指令,比如: IOCTL_Ezusb_VENDOR_REQUEST,IOCTL_Ezusb_ANCHOR_DOWNLOAD,IOCTL_EZUSB_BULK_READ等等与我的user mode下的应用程序联系起来呢?能否举几个看看呢? 各位,我才开始接触usb ,所以有很多疑惑,希望各位能多帮帮忙, 先谢了。分数20不够的话,我可以另外发贴给分!!! |
|
沙发#
发布于:2004-07-06 13:55
还有几个问题,不发新贴了。
1。drivers目录下的ezmon是做什么用的? 2。开始写firmware是不是以target\FW\ezusb下的FW.uv2为基础啊 我看了example中的几个例子,都是有5个相同的文件,只是在不同的函数内写代码/写好後是不是用ezloader和hex2c? |
|
板凳#
发布于:2004-07-06 12:28
你吧cypress的ezmon的例子按上面所说的改一下你下载编译后安装看看是否成功
|
|
地板#
发布于:2004-07-06 12:26
我也是这样做的但固件下载不下去因为ezmoniter没有监视到第二次列举的设备描述符
|
|
地下室#
发布于:2004-07-06 10:26
什么意思?
|
|
5楼#
发布于:2004-07-06 09:18
bingjie是个高手,但是好像不行呀
|
|
6楼#
发布于:2004-07-06 08:30
那我问的第一个问题呢?是不是以ezusbsys.c为基础出发就可以写一个driver了呢?
|
|
7楼#
发布于:2004-07-05 17:03
把你生成的.hex文件用Hex2C转换为C文件,然后再替换mon51hi就可以下载你自己的Firmare了
但是要注意下载完后你的驱动会被卸载然后又重新加载,为避免重新加载后的驱动再次下载Firmware,你可能要判断DeviceDescriptor里的内容已区分Firmware是否已下载。 在应用程序中你只要调用DeviceIoControl就可以同Ezusb_ProcessIOCTL进行通讯了 |
|
8楼#
发布于:2004-07-05 15:12
你可以看看它的EZMr这个应用程序啊!
|
|
9楼#
发布于:2004-07-05 12:41
没人回答?自己顶一下
|
|