阅读:1600回复:15
程序下载的问题
我试着下载了CYPRESS\\EXAMPLE\\EZ-USB\\EP_PAIR路径下的范例程序,这是一个从EP2 OUT端点至EP2 IN端点反复执行批量传输循环的程序.下载后,\"Get Pipes\",应该是使用了两个端点EP2 OUT,EP2 IN的,可是管道/端点的配置却没有任何变化,还是初始时的样子.固件应该没有问题,因为是CY提供的范例.那究竟是哪里出错了呢?会不会是板子的问题?我的板子不是CY的,但采用了68013芯片.
|
|
|
沙发#
发布于:2003-08-08 22:04
两位高手都在:
想问一下,有没有关于动态指针的例子, 要求:建一个队列,能动态管理其中的数据,比如实时检测里面的数据,以被使用过的清楚,再输入新的数据,等待使用! 还有,有没有Keil C的中断的例子? oldxf@163.com thanks! |
|
板凳#
发布于:2003-08-08 20:59
[quote][quote][quote]其实你用1。1的做实验没有什么意义,直接用2。0的就可以了。CY的下载后在他的面板上会有很多东西,都是2。0协议的直接体现,如 这个是什么?是你下载文件时Control Panel的主画面的内容吧?这些内容在我下载EP_PAIR.hex的时候也出现了,但是获取管道信息时,发现管道和端点的配置不是预期的那样,而程序不会有错.我想知道的是为什么我的板子下载这个文件会这样?书上21章,第三节对这个例子进行了讲解,范例的执行情况就是 Get PipeInfo Interface Size 56 PIPE: 0 Type BLK Endpiont: 2 IN MaxPktSize: ox40 PIPE: 1 Type BLK Endpiont: 2 OUT MaxPktSize: ox40 这才是程序正常执行的结果.而我的则还是和下载文件之前的设置一样: Get PipeInfo Interface Size 56 PIPE: 0 Type BLK Endpiont: 1 OUT MaxPktSize: ox40 PIPE: 1 Type BLK Endpiont: 1 IN MaxPktSize: ox40 PIPE: 2 Type BLK Endpiont: 2 OUT MaxPktSize: ox40 PIPE: 3 Type BLK Endpiont: 4 OUT MaxPktSize: ox40 PIPE: 4 Type BLK Endpiont: 6 IN MaxPktSize: ox40 PIPE: 5 Type BLK Endpiont: 8 IN MaxPktSize: ox40 为什么不一样呢?如果是协议的版本问题的话,2.0不是兼容1.1吗? [/quote] 那个例子是2131芯片的例子,不能用在68013上。 [编辑 - 8/8/03 by flytomoon] [/quote] 你怎么知道的?从哪里看出是那款芯片的例子呢? [/quote] 因为CY的EZUSB用的就是AN2131的芯片,所以他的例子就是针对其开发的! |
|
地板#
发布于:2003-08-08 15:45
[quote][quote]其实你用1。1的做实验没有什么意义,直接用2。0的就可以了。CY的下载后在他的面板上会有很多东西,都是2。0协议的直接体现,如 这个是什么?是你下载文件时Control Panel的主画面的内容吧?这些内容在我下载EP_PAIR.hex的时候也出现了,但是获取管道信息时,发现管道和端点的配置不是预期的那样,而程序不会有错.我想知道的是为什么我的板子下载这个文件会这样?书上21章,第三节对这个例子进行了讲解,范例的执行情况就是 Get PipeInfo Interface Size 56 PIPE: 0 Type BLK Endpiont: 2 IN MaxPktSize: ox40 PIPE: 1 Type BLK Endpiont: 2 OUT MaxPktSize: ox40 这才是程序正常执行的结果.而我的则还是和下载文件之前的设置一样: Get PipeInfo Interface Size 56 PIPE: 0 Type BLK Endpiont: 1 OUT MaxPktSize: ox40 PIPE: 1 Type BLK Endpiont: 1 IN MaxPktSize: ox40 PIPE: 2 Type BLK Endpiont: 2 OUT MaxPktSize: ox40 PIPE: 3 Type BLK Endpiont: 4 OUT MaxPktSize: ox40 PIPE: 4 Type BLK Endpiont: 6 IN MaxPktSize: ox40 PIPE: 5 Type BLK Endpiont: 8 IN MaxPktSize: ox40 为什么不一样呢?如果是协议的版本问题的话,2.0不是兼容1.1吗? [/quote] 那个例子是2131芯片的例子,不能用在68013上。 [编辑 - 8/8/03 by flytomoon] [/quote] 你怎么知道的?从哪里看出是那款芯片的例子呢? |
|
|
地下室#
发布于:2003-08-08 15:41
你的板子里提供BULKLOOP的例子了吗?这个例子很好的,把他的程序好好读懂很有帮助的。 卖主提供了一个文档:<USB2.0开发板安装、测试指南>,里面用几个例子(也是CY的范例)来指导开发板的测试,如果这几个例子测试成功,就说明板子没问题.其中有bulkloop(这个我下载了没有问题),还有Vend_ax例子,但是这个牵涉到E2PROM,我的板子上没有,还有一个例子是BulkSrc例子程序(需要2.0主板支持),但我的主板不支持2.0.所以可用的只有BULKLOOP,刚想照着书试一个,就出错了,搞得我还以为把板子弄坏了,吓一跳. 板子的资料如下: 不包括SRAM、RS232、EEPROM USB1.1和USB2.0兼容,自动下载Firmware,Keil C51编程。 支持SLAVE FIFO,GPIF方式,数据采样速率 18MByte/s 不支持断点调试和自定义的厂商标志和设备标志。 也不做什么,这块板子是拿来学习USB的驱动的. |
|
|
5楼#
发布于:2003-08-08 15:30
[quote]其实你用1。1的做实验没有什么意义,直接用2。0的就可以了。CY的下载后在他的面板上会有很多东西,都是2。0协议的直接体现,如 这个是什么?是你下载文件时Control Panel的主画面的内容吧?这些内容在我下载EP_PAIR.hex的时候也出现了,但是获取管道信息时,发现管道和端点的配置不是预期的那样,而程序不会有错.我想知道的是为什么我的板子下载这个文件会这样?书上21章,第三节对这个例子进行了讲解,范例的执行情况就是 Get PipeInfo Interface Size 56 PIPE: 0 Type BLK Endpiont: 2 IN MaxPktSize: ox40 PIPE: 1 Type BLK Endpiont: 2 OUT MaxPktSize: ox40 这才是程序正常执行的结果.而我的则还是和下载文件之前的设置一样: Get PipeInfo Interface Size 56 PIPE: 0 Type BLK Endpiont: 1 OUT MaxPktSize: ox40 PIPE: 1 Type BLK Endpiont: 1 IN MaxPktSize: ox40 PIPE: 2 Type BLK Endpiont: 2 OUT MaxPktSize: ox40 PIPE: 3 Type BLK Endpiont: 4 OUT MaxPktSize: ox40 PIPE: 4 Type BLK Endpiont: 6 IN MaxPktSize: ox40 PIPE: 5 Type BLK Endpiont: 8 IN MaxPktSize: ox40 为什么不一样呢?如果是协议的版本问题的话,2.0不是兼容1.1吗? [/quote] 那个例子是2131芯片的例子,不能用在68013上。 [编辑 - 8/8/03 by flytomoon] |
|
6楼#
发布于:2003-08-08 15:27
刚才给板子的卖主发信问了,原因如下:
CYPRESS\\EXAMPLE\\EZ-USB\\EP_PAIR是usb1.1芯片an2131的例子,不能用在68013上。 不好意思,拿这种问题问你 :),看来是硬件的问题了. |
|
|
7楼#
发布于:2003-08-08 15:21
你的板子里提供BULKLOOP的例子了吗?这个例子很好的,把他的程序好好读懂很有帮助的。
你的板子都有什么其他的实验啊?说来听听。速度他说怎么样啊?你用68013主要是作什么工作啊? |
|
8楼#
发布于:2003-08-08 15:19
其实你用1。1的做实验没有什么意义,直接用2。0的就可以了。CY的下载后在他的面板上会有很多东西,都是2。0协议的直接体现,如 这个是什么?是你下载文件时Control Panel的主画面的内容吧?这些内容在我下载EP_PAIR.hex的时候也出现了,但是获取管道信息时,发现管道和端点的配置不是预期的那样,而程序不会有错.我想知道的是为什么我的板子下载这个文件会这样?书上21章,第三节对这个例子进行了讲解,范例的执行情况就是 Get PipeInfo Interface Size 56 PIPE: 0 Type BLK Endpiont: 2 IN MaxPktSize: ox40 PIPE: 1 Type BLK Endpiont: 2 OUT MaxPktSize: ox40 这才是程序正常执行的结果.而我的则还是和下载文件之前的设置一样: Get PipeInfo Interface Size 56 PIPE: 0 Type BLK Endpiont: 1 OUT MaxPktSize: ox40 PIPE: 1 Type BLK Endpiont: 1 IN MaxPktSize: ox40 PIPE: 2 Type BLK Endpiont: 2 OUT MaxPktSize: ox40 PIPE: 3 Type BLK Endpiont: 4 OUT MaxPktSize: ox40 PIPE: 4 Type BLK Endpiont: 6 IN MaxPktSize: ox40 PIPE: 5 Type BLK Endpiont: 8 IN MaxPktSize: ox40 为什么不一样呢?如果是协议的版本问题的话,2.0不是兼容1.1吗? |
|
|
9楼#
发布于:2003-08-08 15:00
[quote][quote]另外,还有一个问题,设备的枚举是在哪里实现的?是自己写一个inf文件,然后用DDK编译成sys,还是在固件里完成的? 就你现在手里的板子如果有E2PROM的话,是一开始上电的时候存在E2PROM里的程序完成的,通过E2PROM直接先DOWN到68013里的51中,由INF通过驱动从68013中取得描述符等信息,当第一次枚举成功以后,系统就记住了这个设备的信息,以后每次上电就不用再驱动了,直接就可以和设备打交道了。 [/quote] 没有E2PROM,想知道如果我自己写,那应该是写一个INF文件 ,还是在固件部分写? [/quote] 在固件里写。 |
|
10楼#
发布于:2003-08-08 14:57
[quote]另外,还有一个问题,设备的枚举是在哪里实现的?是自己写一个inf文件,然后用DDK编译成sys,还是在固件里完成的? 就你现在手里的板子如果有E2PROM的话,是一开始上电的时候存在E2PROM里的程序完成的,通过E2PROM直接先DOWN到68013里的51中,由INF通过驱动从68013中取得描述符等信息,当第一次枚举成功以后,系统就记住了这个设备的信息,以后每次上电就不用再驱动了,直接就可以和设备打交道了。 [/quote] 没有E2PROM,想知道如果我自己写,那应该是写一个INF文件 ,还是在固件部分写? |
|
|
11楼#
发布于:2003-08-08 14:54
另外,还有一个问题,设备的枚举是在哪里实现的?是自己写一个inf文件,然后用DDK编译成sys,还是在固件里完成的? 就你现在手里的板子如果有E2PROM的话,是一开始上电的时候存在E2PROM里的程序完成的,通过E2PROM直接先DOWN到68013里的51中,由INF通过驱动从68013中取得描述符等信息,当第一次枚举成功以后,系统就记住了这个设备的信息,以后每次上电就不用再驱动了,直接就可以和设备打交道了。 |
|
12楼#
发布于:2003-08-08 14:49
其实你用1。1的做实验没有什么意义,直接用2。0的就可以了。CY的下载后在他的面板上会有很多东西,都是2。0协议的直接体现,如
EZ-USB Control Panel - built 11:31:58 Sep 17 2002 Get PipeInfo Interface Size 16 Toggle 8051 Reset Anchor Download 10 bytes: addr=80 0000 00 01 02 02 03 03 04 04 05 05 Anchor Download 3 bytes: addr=3 0000 02 06 C5 Anchor Download 59 bytes: addr=6c5 0000 C0 E0 C0 F0 C0 83 C0 82 C0 D0 75 D0 00 C0 00 C0 0010 01 C0 02 C0 03 C0 04 C0 05 C0 06 C0 07 12 08 B7 0020 D0 07 D0 06 D0 05 D0 04 D0 03 D0 02 D0 01 D0 00 0030 D0 D0 D0 82 D0 83 D0 F0 D0 E0 32 Anchor Download 472 bytes: addr=419 0000 E4 F5 13 F5 12 F5 11 F5 10 C2 03 C2 00 C2 02 C2 0010 01 12 05 F1 7E 00 7F 90 8E 23 8F 24 75 2B 00 75 0020 2C A2 75 21 00 75 22 AC 75 29 00 75 2A DA 75 2D 0030 01 75 2E 08 90 E6 80 E0 30 E7 0E 85 21 25 85 22 0040 26 85 29 27 85 2A 28 80 0C 85 29 25 85 2A 26 85 0050 21 27 85 22 28 EE 54 E0 70 03 02 05 8A 75 14 00 0060 75 15 80 7E 00 7F 90 8E 16 8F 17 C3 74 7E 9F FF 0070 74 01 9E CF 24 02 CF 34 00 FE E4 8F 0F 8E 0E F5 0080 0D F5 0C F5 0B F5 0A F5 09 F5 08 AF 0F AE 0E AD 0090 0D AC 0C AB 0B AA 0A A9 09 A8 08 C3 12 0B 30 50 00A0 2A E5 15 25 0B F5 82 E5 14 35 0A F5 83 74 CD F0 00B0 E4 FA F9 F8 E5 0B 24 01 F5 0B EA 35 0A F5 0A E9 00C0 35 09 F5 09 E8 35 08 F5 08 80 C0 E4 F5 0B F5 0A 00D0 F5 09 F5 08 AF 0F AE 0E AD 0D AC 0C AB 0B AA 0A 00E0 A9 09 A8 08 C3 12 0B 30 50 35 AE 0A AF 0B E5 17 00F0 2F F5 82 E5 16 3E F5 83 E0 FD E5 15 2F F5 82 E5 0100 14 3E F5 83 ED F0 E4 FA F9 F8 EF 24 01 F5 0B EA 0110 3E F5 0A E9 35 09 F5 09 E8 35 08 F5 08 80 B5 85 0120 14 23 85 15 24 74 90 24 80 FF 74 00 34 FF FE C3 0130 E5 2C 9F F5 2C E5 2B 9E F5 2B C3 E5 26 9F F5 26 0140 E5 25 9E F5 25 C3 E5 28 9F F5 28 E5 27 9E F5 27 0150 C3 E5 22 9F F5 22 E5 21 9E F5 21 C3 E5 2A 9F F5 0160 2A E5 29 9E F5 29 C3 E5 2E 9F F5 2E E5 2D 9E F5 0170 2D D2 E8 43 D8 20 90 E6 68 E0 44 09 F0 90 E6 5C 0180 E0 44 3D F0 D2 AF 90 E6 80 E0 20 E1 05 D2 04 12 0190 0A 04 90 E6 80 E0 54 F7 F0 53 8E F8 C2 03 30 01 01A0 05 12 01 80 C2 01 30 03 29 12 00 8E 50 24 C2 03 01B0 12 0A 8B 20 00 16 90 E6 82 E0 30 E7 04 E0 20 E1 01C0 EF 90 E6 82 E0 30 E6 04 E0 20 E0 E4 12 0A 33 12 01D0 0B 4D 12 0B 59 80 C7 22 ......... 还有很多,我没具体研究都是什么东西,不过无外乎是主机和USB之间的一些协议。下载完以后,就可以获取PIPE信息了,如: Get PipeInfo Interface Size 96 Pipe: 0 Type: BLK Endpoint: 2 OUT MaxPktSize: 0x200 Pipe: 1 Type: BLK Endpoint: 4 OUT MaxPktSize: 0x200 Pipe: 2 Type: BLK Endpoint: 6 IN MaxPktSize: 0x200 Pipe: 3 Type: BLK Endpoint: 8 IN MaxPktSize: 0x200 0X200是16进制的表示512,即每个包的大小我512B,要是1。1协议的应该是64B,你比较一下看看。 |
|
13楼#
发布于:2003-08-08 14:45
另外,还有一个问题,设备的枚举是在哪里实现的?是自己写一个inf文件,然后用DDK编译成sys,还是在固件里完成的?
|
|
|
14楼#
发布于:2003-08-08 14:42
1.1协议的就不行吗?不是说兼容的吗?为什么不行呢?感觉象没下载成功似的,但是在下载过程中,又跳出一大堆东西,就像下载其他文件那样,只是在GET PIPES时才看出有问题的.
不算作实验,只是想试试,看到第十章了,前几章没什么内容,后面的越来越南看了,第九章EZ-USB的内存就看得半生不熟的.板子是驱动网上买的,Albert-Zhang那里. |
|
|
15楼#
发布于:2003-08-08 14:35
你应该下载里边FX2目录下的例子用,EZ-USB里的都是1.1协议的。
开始做实验了?看的怎么样了?你的板子不是CY的是哪里的啊? |
|