|
|
  |
проблема USB cy7c68013a, инициализация устройства |
|
|
|
Sep 14 2007, 05:40
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 23-09-05
Из: Москва
Пользователь №: 8 874

|
Цитата(леха_настойчивый @ Sep 13 2007, 17:46)  У меня не шестой, у меня Borland Developer Studio
Borland® C++Builder® Preview for Microsoft® Windows™ Version 10.0.2151.25345 Copyright © 2005 Borland® Software Corporation. All Rights Reserved.
НЕУЖЕЛИ ИЗ-ЗА ЭТОГО ????????, у меня есть шестой, может поробовать, мне казалось этот лучше? тут все борландовские примочки есть? ИМХО не пойдёть с Borland Developer Studio, библотека CyAPI.lib не та. Юзай либо 6 билдер, либо найди CyAPI.lib для Borland Developer Studio (например напиши в поддержку сайпреса). Да, и еще, скачай самые последние дрова, я глянул у тя не самые свежие.
|
|
|
|
|
Sep 14 2007, 06:56
|
Участник

Группа: Новичок
Сообщений: 15
Регистрация: 27-04-07
Пользователь №: 27 348

|
Цитата(Warlord @ Sep 14 2007, 08:40)  ИМХО не пойдёть с Borland Developer Studio, библотека CyAPI.lib не та. Юзай либо 6 билдер, либо найди CyAPI.lib для Borland Developer Studio (например напиши в поддержку сайпреса). Да, и еще, скачай самые последние дрова, я глянул у тя не самые свежие. Cпасибо! Сейчас ставлю шестой билдер, буду пробовать! Цитата(Warlord @ Sep 14 2007, 08:40)  ИМХО не пойдёть с Borland Developer Studio, библотека CyAPI.lib не та. Юзай либо 6 билдер, либо найди CyAPI.lib для Borland Developer Studio (например напиши в поддержку сайпреса). Да, и еще, скачай самые последние дрова, я глянул у тя не самые свежие. Огромное спасибо Warlord!!! ЗАПУСТИЛОСЬ, и видит устройство, вы мне очень помогли!!!
|
|
|
|
|
Mar 14 2008, 07:42
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 24-06-05
Пользователь №: 6 281

|
Всем привет! Скажите, что такого изменилось в Codegear (CBuilder 2007) относительно CBuilder 6, что CyAPI нельзя использовать? Причина в CyAPI.lib или в настройках IDE?
Вопрос 2 (USBIOLIB, v2.0): В CBuilder 6 некомпилируется пустой проект, результат:
[Linker Error] Unresolved external 'CSetupApiDll::CSetupApiDll()' referenced from F:\.....\UNIT1.OBJ [Linker Error] Unresolved external 'CSetupApiDll::~CSetupApiDll()' referenced from F:\....\UNIT1.OBJ Почему?
|
|
|
|
|
Mar 14 2008, 10:22
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 24-06-05
Пользователь №: 6 281

|
Кстати, если в CBuilder 2007 использовать IOCTL вместо CyAPI, то все работает, но писанины больше!
|
|
|
|
|
Mar 31 2008, 18:43
|
Частый гость
 
Группа: Участник
Сообщений: 75
Регистрация: 25-07-04
Из: Rostov-on-Don
Пользователь №: 382

|
Цитата(Serg_Sm @ Mar 31 2008, 13:04)  Выкиньте вы эти библиотеки - я вот написал класс для работы напрямую с драйвером и пользуюсь им уже года 2 без доработок. Видите ли, Serg_Sm, какая фигня - у меня есть тестовый образец платы, на которой кроме 68013A есть еще CPLD, ARM с новыми для меня регистрами и пр. мелочи и мне нужно в макс. короткое время сделать тестовое приложение на писи плюс тесты для арм и цплд, чтобы протестировать работу всего устройства... Так, что советы типа все выкинуть и переписать будут оправданы через недели и мало помогают-) А пока, если никто не поможет c LIB под 2007 билдер - прийдется ставить 6ку или поюзать виндрайвер...
|
|
|
|
|
Apr 1 2008, 02:57
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 24-06-05
Пользователь №: 6 281

|
MSL Вот простенький примерчик. Без потоков и OVERLAPPED. Для Builder2007.
Прикрепленные файлы
2_.rar ( 264.96 килобайт )
Кол-во скачиваний: 99
|
|
|
|
|
Apr 1 2008, 08:18
|
Частый гость
 
Группа: Участник
Сообщений: 75
Регистрация: 25-07-04
Из: Rostov-on-Don
Пользователь №: 382

|
Цитата(Vix @ Apr 1 2008, 06:57)  Вот простенький примерчик. Без потоков и OVERLAPPED. Для Builder2007. Спасибо! Я смотрю, что принято каждому писать свою библиотеку или класс через IOCTL-)) Немного не в тему, наверное, но такой вопрос - с чем это связано? С СuUSB так можно выжать макс. скорость или просто желание иметь собой написанный класс или либ? Просто на будующее, потому что вчера ночью уже зацепил 68013 все через windriver - заняло 1 час + ф-ции чтения/записи еепром и пр.).
|
|
|
|
|
Apr 1 2008, 08:34
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 24-06-05
Пользователь №: 6 281

|
MSL Видимо, кому что ближе и удобнее... ИМХО: универсальных драйверов не так уж и много - CyUSB и USBIO (встречал только эти). С USBIO у меня как-то не пошло. А с CyUSB я уже работал через API, все нравилось. Вот и решил, что я все равно буду использовать этот драйвер и в 2007 билдере.
|
|
|
|
|
Apr 1 2008, 20:42
|
Местный
  
Группа: Свой
Сообщений: 244
Регистрация: 21-02-05
Из: Урал
Пользователь №: 2 806

|
Цитата(Vix @ Apr 1 2008, 14:34)  ИМХО: универсальных драйверов не так уж и много - CyUSB и USBIO (встречал только эти). С USBIO у меня как-то не пошло. А с CyUSB я уже работал через API, все нравилось. Вот и решил, что я все равно буду использовать этот драйвер и в 2007 билдере. A WinUSB? http://msdn2.microsoft.com/en-us/library/aa476426.aspxhttp://www.microsoft.com/whdc/device/conne...nUsb_HowTo.mspxПо поводу CyAPI.lib в BDS - ошибки скорее всего связаны с особенностями реализации кучи в различных версиях. В принципе можно сделать в BCB6 или в VC dll c экпортируемыми функциями - обертками методов классoв и применять в любом компиляторе.
Сообщение отредактировал Седой - Apr 1 2008, 21:07
|
|
|
|
|
Apr 3 2008, 13:24
|
Группа: Новичок
Сообщений: 11
Регистрация: 29-10-07
Пользователь №: 31 841

|
Цитата(Warlord @ Sep 12 2007, 16:27)  Посылает пакет драйверу устройства. да да, есть такая функция, так наз. IRP пакеты посылает, в аргументах помоему у нее что то вроде указателя на void и надо знать структуру этого пакета для конкретного девайса и передовать приводя его к (* void)
|
|
|
|
|
Nov 21 2008, 11:56
|
Частый гость
 
Группа: Свой
Сообщений: 81
Регистрация: 29-11-05
Из: Belarus
Пользователь №: 11 540

|
Здравствуйте!
Бьюсь со скоростью обмена. Возникли вопросы.
Работаю с отладочной платой для ПЛИС, на которой установлена микросхема CY7C68013A. С обменом разобрался, все проверено и перепроверено - работает.
Сделал тестовую программу, которая заполняет IN pipe в CY7C68013A с определенной скоростью. Скорость можно регулировать. Передача bulk. При передаче контроллирую, чтоб не было потерь данных. Т.е. если IN pipe не пуст, а данные надо передавать, то считаю, что данные потеряны.
Испытал эту всю систему в EzMonitor.
Сделал тестовую программу в Builder C++ 6. Сначала делал в CyAPI.lib, но скорость получалась примерно в 32 раза ниже, чем у EzMonitor.
Сделал программу с использованием DeviceIoControl. Скорость практически не изменилась.
Подскажите, пожалуйста, что это может быть, как достичь скорости, как в EzMonitor???
Вот код приема:
const int kmax = 8; char buf[kmax][1024]; // содержит принятые данные
DWORD NOfBytes; unsigned __int16 rc_int; AnsiString str10; int j_base; ULONG nBytes = 0;
for (int k = 0; k < kmax / 2; k++) { bulkControl.pipeNum = 2; DeviceIoControl (FX2Device, IOCTL_EZUSB_BULK_READ, &bulkControl, sizeof (BULK_TRANSFER_CONTROL), buf[2*k], 1024, (unsigned long *)&nBytes, NULL);
bulkControl.pipeNum = 3; DeviceIoControl (FX2Device, IOCTL_EZUSB_BULK_READ, &bulkControl, sizeof (BULK_TRANSFER_CONTROL), buf[2*k + 1], 1024, (unsigned long *)&nBytes, NULL); }
Может, это из-за того, что в программе EzMonitor запросы ставяться в очередь ближе к аппаратному уровню, а у меня пока не выполниться одна команда, вторая не будет поставлена в очередь
EzMonitor - он же "EZ-USB Control Panel"
|
|
|
|
|
Nov 25 2008, 07:53
|
Частый гость
 
Группа: Свой
Сообщений: 81
Регистрация: 29-11-05
Из: Belarus
Пользователь №: 11 540

|
может, надо при инициализации устройства какие-то команды посылать? Я просто получаю handle устройства: Цитата FX2Device = CreateFile(FX2Name, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
if (FX2Device == INVALID_HANDLE_VALUE) return; И после этого начинаю обмен данными
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|