Цитата(niktagor @ Aug 31 2010, 14:41)

...Имеется готовое устройство от буржуйских разработчиков, построенное на базе CY7C68013...
Цитата(niktagor @ Sep 20 2010, 16:24)

Все сходится. Файл 17КБ. В начале - 0xC2. В конце - 0x80 0x01 0xE6 0x00 0x00...
Значит, таки не CY7C68013 (FX2), а CY7C68013a (FX2LP).
Цитата(niktagor @ Sep 13 2010, 10:32)

...
Код
<ENDPOINT>
Type="BULK"
Direction="OUT"
Address="01h"
Attributes="02h"
MaxPktSize="512"
DescriptorType="5"
DescriptorLength="7"
Interval="0"
</ENDPOINT>
...
То есть, в таблице дескрипторов описание эндпоинта EP1OUT выглядит так:
High-Speed Bulk Out Endpoint Descriptordb 07H ; Descriptor length
db 05H ; Descriptor type: Endpoint
db 01H ; Endpoint number, OUT direction
db 02H ; Endpoint type: Bulk
db 00H ; Maximun packet size (LSB)
db 02H ; Max packect size (MSB)
db 00H ; Polling interval
А мы хотим получить такой эндпоинт EP1OUT:
High-Speed Interrupt Out Endpoint Descriptordb 07H ; Descriptor length
db 05H ; Descriptor type: Endpoint
db 01H ; Endpoint number, OUT direction
db 03H ; Endpoint type: Interrupt
db 40H ; Maximun packet size (LSB)
db 00H ; Max packect size (MSB)
db 02H ; Polling interval = (2^(bInterval-1))*125us = 250us
То есть, нужно в файле *.iic найти следующую последовательность байтов:
07 05 01 02 00 02 00
И заменить ее на такую:
07 05 01 03 40 00 02
Затем нужно научить Вашу программу загружать содержимое отредактированного файла *.iic в память FX2LP. Для C# библиотека CyUsb.dll имеет метод
LoadRAM() в классе
CyFX2Device (см. "Programmers Reference - C# Library" (файл CyUSB.NET.chm)). Для С++ эту функцию Вам придется писать самому.
Если firmware для FX2LP содержит переподключение к шине USB, то смену типа EP1OUT с Bulk на Interrupt Вы сможете увидеть, например с помощью CyConsole, сразу после загрузки firmware в FX2LP и переподключения FX2LP к шине USB. Если firmware для FX2LP
не содержит переподключение к шине USB, то потребуются дополнительные действия.
Цитата(niktagor @ Sep 20 2010, 16:24)

Все сходится. Файл 17КБ. В начале - 0xC2. В конце - 0x80 0x01 0xE6 0x00 0x00...
А все таки, Вы проверили, что структура считанного файла соответствует описанной в подразделе "3.4.3 Serial EEPROM Present, First Byte is 0xC2"
EZ-USB® Technical Reference Manual ? То есть, перемещаясь по заголовкам каждой записи благополучно дошли до завершающей (0x80 0x01 0xE6 0x00 0x00) ???