qianfeng
驱动小牛
驱动小牛
  • 注册日期2004-02-19
  • 最后登录2010-05-23
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望26点
  • 贡献值0点
  • 好评度18点
  • 原创分0分
  • 专家分0分
阅读:21861回复:140

SY2100 EZ-USB开发板使用点滴体会

楼主#
更多 发布于:2004-03-19 15:18
  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
科学思索 , 创新超越 ! http://www.shsiyue.com
chrysler
驱动牛犊
驱动牛犊
  • 注册日期2004-03-10
  • 最后登录2004-04-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-03-19 15:58
写的真详细呀!辛苦辛苦,你对EZ-USB的驱动程序编写了解的多么??要写EZ-USB驱动程序,用什么软件呢?能大概介绍一下么?
一切皆有可能!
qianfeng
驱动小牛
驱动小牛
  • 注册日期2004-02-19
  • 最后登录2010-05-23
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望26点
  • 贡献值0点
  • 好评度18点
  • 原创分0分
  • 专家分0分
板凳#
发布于: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芯片中。
科学思索 , 创新超越 ! http://www.shsiyue.com
akangquan
驱动牛犊
驱动牛犊
  • 注册日期2003-05-07
  • 最后登录2011-05-24
  • 粉丝0
  • 关注1
  • 积分15分
  • 威望51点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-03-21 21:46
挺好!!!!
学习中.......

顺便有二问题想请教:
1.你说的要让整个系统跑起来,得二个驱动程序,第一个程序是按照你上面说得方法制作,第二个驱动是调用ezusb.sys,那这个驱动对上层应用程序的接口是什么,能够用 DeviceIoControl() 等来调用吗?

2.是不是我用keil c 改进你说的例子,让它带有usb通信的功能,比如说,固件下载成功后,PC机想让单片机发送一定数据量的数据,它能够发送吗,PC这边的接收是不是就靠ezusb.sys了,然后我上层的app是不是只管接收就行了?

谢谢

qianfeng
驱动小牛
驱动小牛
  • 注册日期2004-02-19
  • 最后登录2010-05-23
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望26点
  • 贡献值0点
  • 好评度18点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-03-22 18:23
akangquan
您好!
对于您提出的问题我考虑了一下,现在简单回答如下:

1、对用户来说,开发需要访问EZUSB外设的应用程序,可使用任何一个支持win32函数CreateFile()和DeviceIoControl()的编译器。

2、您用KEIL C51对我提供的“按钮和灯”的例子进行修改实现您说的全部功能,可能不如修改SY2100 EZ-USB开发板随板光盘中bulktest实例,其中有主机和固件两部分。可以参考参考。

仅供参考!不当之处请指正。
科学思索 , 创新超越 ! http://www.shsiyue.com
lsn_061
驱动老牛
驱动老牛
  • 注册日期2002-05-09
  • 最后登录2006-10-06
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望261点
  • 贡献值0点
  • 好评度169点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-03-22 19:05
ezusb.sys请问有没有源代码??

顶,
[img]http://bbs.zndev.com/image/medal/5.gif[/img]
freshmoon
驱动牛犊
驱动牛犊
  • 注册日期2003-10-08
  • 最后登录2005-02-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-03-23 09:00
楼主很用心!!!
hs_491
驱动牛犊
驱动牛犊
  • 注册日期2004-03-22
  • 最后登录2007-05-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-03-23 09:18
请问如果用KEILC51开发EZ-USB是否需要购买KEILC51开发器哪位朋友能够告诉我?谢谢! :)
自学是我的强项 努力是我的口号 编程是我的力量 成功是我的目标
qianfeng
驱动小牛
驱动小牛
  • 注册日期2004-02-19
  • 最后登录2010-05-23
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望26点
  • 贡献值0点
  • 好评度18点
  • 原创分0分
  • 专家分0分
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开发板上,特别要注意地址的分配,说明书中有。

科学思索 , 创新超越 ! http://www.shsiyue.com
freshmoon
驱动牛犊
驱动牛犊
  • 注册日期2003-10-08
  • 最后登录2005-02-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-03-24 09:31
楼主有什么样的联系方式么?
可以互相探讨一下问题
我的qq:30989126
chrysler
驱动牛犊
驱动牛犊
  • 注册日期2004-03-10
  • 最后登录2004-04-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-03-24 10:34
非常感谢楼主的,耐心、细致的回答。对我很有帮助。
我正在做一个EZ-USB的小项目,用的是CYPRESS的
AN2131SC,刚刚开始。如果楼主有兴趣,加我QQ:3730619。
可能以后,还会遇到很多问题,要向你请教呢!!
一切皆有可能!
qianfeng
驱动小牛
驱动小牛
  • 注册日期2004-02-19
  • 最后登录2010-05-23
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望26点
  • 贡献值0点
  • 好评度18点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-03-29 15:19
谢谢各位!!可以给我发信。共同进步!
科学思索 , 创新超越 ! http://www.shsiyue.com
xinli->新利
驱动中牛
驱动中牛
  • 注册日期2004-03-28
  • 最后登录2007-08-24
  • 粉丝0
  • 关注0
  • 积分483分
  • 威望56点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2004-03-29 21:30
楼主你好,我也是2131的
以后多联系,互相支持

 :)
xueli19810917@163.com www.GGJJDDMM.com
xinli->新利
驱动中牛
驱动中牛
  • 注册日期2004-03-28
  • 最后登录2007-08-24
  • 粉丝0
  • 关注0
  • 积分483分
  • 威望56点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2004-03-29 21:32
你写的好详细,我明天再来慢慢看.

我的板子是自己焊的,焊坏了个片子,好心疼

现在这个得好好珍惜

xueli19810917@163.com www.GGJJDDMM.com
qianfeng
驱动小牛
驱动小牛
  • 注册日期2004-02-19
  • 最后登录2010-05-23
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望26点
  • 贡献值0点
  • 好评度18点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2004-03-30 13:22
xinli,你好!我也焊坏过片子,我这里有一篇文章可能对您和大家有帮助,是关于微细芯片维修和焊接的,我当初也是好不容易找到的,和大家分享!共同进步!同时谢谢大家对我的认可。
附件名称/大小 下载次数 最后更新
2004-03-30_微细间距 QFP器件手工焊接指南.pdf (4296KB)  59
科学思索 , 创新超越 ! http://www.shsiyue.com
qianfeng
驱动小牛
驱动小牛
  • 注册日期2004-02-19
  • 最后登录2010-05-23
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望26点
  • 贡献值0点
  • 好评度18点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2004-03-30 23:28
希望多多支持工作!
科学思索 , 创新超越 ! http://www.shsiyue.com
freshmoon
驱动牛犊
驱动牛犊
  • 注册日期2003-10-08
  • 最后登录2005-02-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2004-03-31 10:47
楼主,你的信箱是什么啊?
我的信箱 wneptune@sohu.com
希望能多探讨
qianfeng
驱动小牛
驱动小牛
  • 注册日期2004-02-19
  • 最后登录2010-05-23
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望26点
  • 贡献值0点
  • 好评度18点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2004-04-01 11:38
我会给您联系,谢谢支持!!
科学思索 , 创新超越 ! http://www.shsiyue.com
qianfeng
驱动小牛
驱动小牛
  • 注册日期2004-02-19
  • 最后登录2010-05-23
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望26点
  • 贡献值0点
  • 好评度18点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2004-04-02 01:28
新的发现,http://shsiyue.51.net有很多好东东!
科学思索 , 创新超越 ! http://www.shsiyue.com
qianfeng
驱动小牛
驱动小牛
  • 注册日期2004-02-19
  • 最后登录2010-05-23
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望26点
  • 贡献值0点
  • 好评度18点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2004-04-02 22:56
在网上EZUSB开发板的中文资料不是很多,建议看看网页:http://shsiyue.51.net/sy2100.htm
上面有很多值得参考的东西,对开发有帮助。
科学思索 , 创新超越 ! http://www.shsiyue.com
上一页
游客

返回顶部