阅读:21861回复:140
SY2100 EZ-USB开发板使用点滴体会
SY2100 EZ-USB (上海思越htttp://shsiyue.51.net)开发板提供完整的硬件和软件来加速固件与主机驱动程序的开发,与其它使用仿真设备的USB开发包不同的是,SY2100 EZ-USB开发包在整个开发过程中使用真正的设备,即AQ2131QC。
最近购得了SY2100 EZ-USB,使用后总的来说挺好用。提供了很多的实验,我也一步一步照做了一遍,优点是套件配有一本完整的中文资料,非常难能可贵。(声明:我的英文不好!)其实,很多的内容和北航出版社颜荣江等的书中内容相似,手边正好有一本,可以对照看。 配套光盘中提供的“按钮和灯”的例子,实际上就是examples中提供的dev_io的改编。下面是如何创建EZ-Loader设备驱动程序的一般步骤。 这里举例讲述生成EZ-Loader固件装载驱动程序的详细过程,所选取的例子是“按钮和灯”,在目录.\buttons and lights\dev_io\下的目标程序,它由Keil软件工具编译、链接后生成。设计的目标是在设备插上后,主机能通过USB总线自动下载该固件到EZ-USB外设芯片中,并自动运行该固件程序。 首先,需要分配设备的VID/PID号。采用重枚举的设备需要两个VID/PID,一个绑定到固件下载之前的设备驱动程序,另一个绑定到固件下载之后的设备驱动程序。在此,前一个驱动程序等待我们开发,后一个驱动程序采用EZ-USB软件开发包提供的ezusb.sys驱动程序。我们将PID=0X1004绑定到前一个驱动程序;PID=0X1005绑定到ezusb.sys驱动程序。VID均为0x0547。注意:这里的USB设备的PID为0x1004。 开发固件装载设备驱动程序按照如下步骤进行: (1) 新建一个目录,假设为dev_io。将cypress\ usb\ drivers\ ezloader 目录下的文件和子目录的内容全部复制到该目录下。 (2) 用任何一个文本编辑器打开该目录下的sources文件,修改如下一行 TARGETNAME=ezloader 为 TARGETNAME=dev_io 这一名称将影响到最后产生的.sys文件的名称。 (3) 利用hex2c.exe,将dev_io.hex文件转换为dev_io.c文件。 Hex2c dev_io.hex dev_io.c 现在,dev_io.c包含一个Intel HEX记录结构的数组,被称为firmware. (4) 打开dev_io.c和firmware.c文件,将firmware.c中的firmware[ ]数组用dev_io.c中的firmware[ ] 数组替换; (5) 利用windows DDK创建目标驱动程序。运行build.exe,选择DDK的free或者是checked环境,进入到dev_io子目录,键入 build |
|
|
沙发#
发布于:2004-03-19 15:58
写的真详细呀!辛苦辛苦,你对EZ-USB的驱动程序编写了解的多么??要写EZ-USB驱动程序,用什么软件呢?能大概介绍一下么?
|
|
|
板凳#
发布于:2004-03-19 16:14
chrysler你好!对于你的问题是一个开发者最关心的问题之一。
由于EZ-USB软件开发包提供的EZ-Loader驱动程序只需要很少的修改就可以支持一个专用的设备。因此,它不需要有较深的Windows驱动程序编程的知识背景,然而,用户应该熟悉Windows的即插即用、 Windows INF文件、Windows的注册表和USB。 EZ-Loader驱动程序是一个设备驱动程序,因此它需要Windows98的设备驱动工具包(DDK)。DDK对用户来说并不友好,在尝试制作EZ-Loader驱动程序之前,应该验证所用的DDK有能力创建设备驱动程序。 一个典型的基于EZ-USB芯片的设备,如果它具有了固件下载驱动程序的功能,那么,它只需要有少量的固件存储器(EEPROM等)来存储设备的VID/PID。VID/PID与主机系统中指定的设备驱动程序相关联。该设备驱动程序的唯一功能就是下载固件到外设的EZUSB芯片中。 |
|
|
地板#
发布于:2004-03-21 21:46
挺好!!!!
学习中....... 顺便有二问题想请教: 1.你说的要让整个系统跑起来,得二个驱动程序,第一个程序是按照你上面说得方法制作,第二个驱动是调用ezusb.sys,那这个驱动对上层应用程序的接口是什么,能够用 DeviceIoControl() 等来调用吗? 2.是不是我用keil c 改进你说的例子,让它带有usb通信的功能,比如说,固件下载成功后,PC机想让单片机发送一定数据量的数据,它能够发送吗,PC这边的接收是不是就靠ezusb.sys了,然后我上层的app是不是只管接收就行了? 谢谢 |
|
地下室#
发布于:2004-03-22 18:23
akangquan
您好! 对于您提出的问题我考虑了一下,现在简单回答如下: 1、对用户来说,开发需要访问EZUSB外设的应用程序,可使用任何一个支持win32函数CreateFile()和DeviceIoControl()的编译器。 2、您用KEIL C51对我提供的“按钮和灯”的例子进行修改实现您说的全部功能,可能不如修改SY2100 EZ-USB开发板随板光盘中bulktest实例,其中有主机和固件两部分。可以参考参考。 仅供参考!不当之处请指正。 |
|
|
5楼#
发布于:2004-03-22 19:05
ezusb.sys请问有没有源代码??
顶, |
|
|
6楼#
发布于:2004-03-23 09:00
楼主很用心!!!
|
|
7楼#
发布于:2004-03-23 09:18
请问如果用KEILC51开发EZ-USB是否需要购买KEILC51开发器哪位朋友能够告诉我?谢谢! :)
|
|
|
8楼#
发布于:2004-03-23 09:42
回答frishmoon and hs_491 :
你们好! 答frishmoon:SY2100 EZ-USB开发板提供的套件实际上和cypress EZ-USB开发板提供的开发套件大同小异,只是在cypress的基础上进行了一些改进而已。套件中提供实例的全套源代码,开发相当方便。可以试试。 答hs_491:如果您利用sy2100 EZ-USB开发板开发和调试程序(用KEIL C51)无需购买51仿真器,开发板提供51的monitor程序,只要用控制面板程序下载监控程序到开发板就可以用KEIL C51进行在线仿真和调试,特点是采用了真正的芯片AN2131QC进行仿真,这样可以确保程序能够在EZ-USB上可靠运行。如果用其它的51仿真器进行编程仿真,出来的程序不一定适合,虽然EZ-USB芯片的内核是51内核,但是如果就在要使用的芯片上进行仿真开发,得到的结果显然是可靠的。 另外,在SY2100 EZ-USB开发板上,特别要注意地址的分配,说明书中有。 |
|
|
9楼#
发布于:2004-03-24 09:31
楼主有什么样的联系方式么?
可以互相探讨一下问题 我的qq:30989126 |
|
10楼#
发布于:2004-03-24 10:34
非常感谢楼主的,耐心、细致的回答。对我很有帮助。
我正在做一个EZ-USB的小项目,用的是CYPRESS的 AN2131SC,刚刚开始。如果楼主有兴趣,加我QQ:3730619。 可能以后,还会遇到很多问题,要向你请教呢!! |
|
|
11楼#
发布于:2004-03-29 15:19
谢谢各位!!可以给我发信。共同进步!
|
|
|
12楼#
发布于:2004-03-29 21:30
楼主你好,我也是2131的
以后多联系,互相支持 :) |
|
|
13楼#
发布于:2004-03-29 21:32
你写的好详细,我明天再来慢慢看.
我的板子是自己焊的,焊坏了个片子,好心疼 现在这个得好好珍惜 |
|
|
14楼#
发布于:2004-03-30 13:22
xinli,你好!我也焊坏过片子,我这里有一篇文章可能对您和大家有帮助,是关于微细芯片维修和焊接的,我当初也是好不容易找到的,和大家分享!共同进步!同时谢谢大家对我的认可。
|
|
|
15楼#
发布于:2004-03-30 23:28
希望多多支持工作!
|
|
|
16楼#
发布于:2004-03-31 10:47
楼主,你的信箱是什么啊?
我的信箱 wneptune@sohu.com 希望能多探讨 |
|
17楼#
发布于:2004-04-01 11:38
我会给您联系,谢谢支持!!
|
|
|
18楼#
发布于:2004-04-02 01:28
新的发现,http://shsiyue.51.net有很多好东东!
|
|
|
19楼#
发布于:2004-04-02 22:56
在网上EZUSB开发板的中文资料不是很多,建议看看网页:http://shsiyue.51.net/sy2100.htm
上面有很多值得参考的东西,对开发有帮助。 |
|
|
上一页
下一页