реклама на сайте
подробности

 
 
19 страниц V  « < 3 4 5 6 7 > »   
Reply to this topicStart new topic
> USB, EZ-USB FX2
Eugene_P
сообщение Feb 28 2005, 17:26
Сообщение #61


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 16-12-04
Пользователь №: 1 501



Такая же лажа и с EZ_USB Control Panel. Т.е. - программа грузится в чип но не работает sad.gif
Go to the top of the page
 
+Quote Post
Trashy
сообщение Mar 1 2005, 03:22
Сообщение #62


Частый гость
**

Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049



Цитата(Eugene_P @ Feb 28 2005, 19:36)
Это снова я smile.gif


C CyUSB я не работал.
EEPROM что бы зашить - программатор не нужен. Всё делается через USB.
Если в EZUSB с этим гемора нет и вся подгрузка кода осуществляется драйвером, то в CyUSB , что бы работали запросы отличные от 0xA0, нужно подгружать код...

"This directory contains the 8051 firmware Vend_Ax source code
for the Anchor Chips EZ-USB chip.
NOTE: The Full Version of Keil Tools is required to build this example.

The purpose of this software is to demonstrate how
to implement vendor specific commands.

The following vendor specific commands are implemented:
A0 Anchor Download
A2 EEProm Load
A3 External Ram Load
A4 Set I2C Addr
A5 Get IIC Type (1 Byte or 2 Byte EEPROM)
A6 Get Chip Rev
A8 Renumerate

То есть, прогрузив этот код в озу контроллера, ты сможешь поиметь доступ к EEPROM.

А на тему не рабочего софта, могу предположить,(кстати чем прогу загружаешь?) что ты не делаешь такие запросы:
Код
void usb_halt(HANDLE hf,byte half_data)
{
 _VENDOR_REQUEST_IN vreq;
 vreq.bRequest = 0xA0;
 vreq.wValue = 0xE600;
 vreq.wIndex = 0x00;
 vreq.wLength = 0x01;
 vreq.bData = half_data;
 vreq.direction = 0x00;
 ret = DeviceIoControl (hf,
                        Get_Ctl_Code((0x800)+5,m_buffer,a_any),
                        &vreq,
                        sizeof(VENDOR_REQUEST_IN),
                        NULL,
                        0,
                        &nbyte,
                        NULL);
 if(ret==False)
   {
     ShowMessage("i8051 halt err.\n");
   }
}


То есть, перед заливкой кода нужно контроллер усыпить, а потом вновь его разбудить.
Go to the top of the page
 
+Quote Post
Eugene_P
сообщение Mar 1 2005, 08:26
Сообщение #63


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 16-12-04
Пользователь №: 1 501



Цитата(Trashy @ Mar 1 2005, 05:22)
C CyUSB я не работал.
EEPROM что бы зашить - программатор не нужен. Всё делается через USB.
Если в EZUSB с этим гемора нет и вся подгрузка кода осуществляется драйвером, то в CyUSB , что бы работали запросы отличные от 0xA0, нужно подгружать код...

То есть, перед заливкой кода нужно контроллер усыпить, а потом вновь его разбудить.
*


Фиг с ним, с тем CyUSB. Нет смысла его мне сейчас использовать,
я это уже понял. Гружу прошивку с помощью EZ-USB Control Panel.
Пробовал посылать запрос, который ты указал. Что-то видать я не так делаю, поскольку ситуация остается неизменной. Кстати, в доках где-то сказано, что
Control Panel сам засыпает чип перед загрузкой кода и будит после.
Еще вопрос такой: насколько я понял, в evaluation Keil'е мой код должен располагаться с адреса 0x4000 ? Т.е., вне встроенного в чип ОЗУ. Куда в таком случае загружается код ? И где и какие давать указания Кейлу?
Go to the top of the page
 
+Quote Post
Eugene_P
сообщение Mar 1 2005, 09:21
Сообщение #64


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 16-12-04
Пользователь №: 1 501



Так, на свой вопрос отвечаю сам:
поменяв в опциях линкера адреса с 4000 на 0 (Code) и на всяк случай
5000 на 2000 (XData), получил требуемый результат: программа грузится с нулевого адреса и даже работает smile.gif
Правда, вижу меандр только на нагруженных выводах порта, на свободных - глухо (лог.0). Почему?
Еще надо разобраться, как генерить файл для еепрома, а то чего-то hex2bix
никак не выдает мне требуемое.
Go to the top of the page
 
+Quote Post
Trashy
сообщение Mar 1 2005, 15:01
Сообщение #65


Частый гость
**

Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049



Цитата(Eugene_P @ Mar 1 2005, 12:21)
Правда, вижу меандр только на нагруженных выводах порта, на свободных - глухо (лог.0). Почему?
Еще надо разобраться, как генерить файл для еепрома, а то чего-то hex2bix
никак не выдает мне требуемое.
*


Гы-гы, так с открытым коллектром! Видима какуюто лапу пропустил - не припаял...

hex2bin работает из командной строки. Я интеловским пользуюсь.
Кстати, разве кейл в начало хекса виды с пидом прописывает?
Не знаю, нахрена тебе генератор, там из фара или хиева прописать десять байт, а следом бинарник без изменений воткнуть...
Кароче, геморой себе делаешь. Я на асме всё накарябал и не глючился...
Там самый геморой не в железе а в софте при работе с дривером. Конечно можно пойтить по пути пользования класса от CyUSB, но изучишь то что тебе в жизни больше не понадобится к тому же, ни хрена изменений внести не сможешь...
Go to the top of the page
 
+Quote Post
Eugene_P
сообщение Mar 1 2005, 15:49
Сообщение #66


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 16-12-04
Пользователь №: 1 501



Цитата(Trashy @ Mar 1 2005, 17:01)
Гы-гы, так с открытым коллектром! Видима какуюто лапу пропустил - не припаял...


Угу, наверное. Ничего я не увидел в доке про открытый коллектор.
Да они и остались незадействованными. Это неважно, главное - работает.

Цитата
hex2bin работает из командной строки. Я интеловским пользуюсь.
Кстати, разве кейл в начало хекса виды с пидом прописывает?


Не, не прописывает, поэтому и взял hex2bix.

Цитата
Не знаю, нахрена тебе генератор, там из фара или хиева прописать десять байт, а следом бинарник без изменений воткнуть...
Кароче, геморой себе делаешь. Я на асме всё накарябал и не глючился...
Там самый геморой не  в железе а в софте при работе с дривером. Конечно можно пойтить по пути пользования класса от CyUSB, но изучишь то что тебе в жизни больше не понадобится к тому же, ни хрена изменений внести не сможешь...


Геморрой - согласен, просто хочется разобраться с еепромом до конца.
Хотя он мне и не нужен, прошивка все равно льется и будет литься по USB.
hex2bix добавляет VID, PID и все остальное. И получается файл для заливки в еепром. Единственное - программа после перезапуска работает, а девайс - не виден. Смотрю по структуре файла - вроде бы все правильно.

Где-то уже проскакивала рекомендация использовать драйвер USBIO.
По какому пути пойти? Пользовать драйвер от сайпресса или его?
В каком софте будут проблемы - в firmware или в прикладной программе?
Go to the top of the page
 
+Quote Post
Trashy
сообщение Mar 1 2005, 15:58
Сообщение #67


Частый гость
**

Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049



Цитата(Eugene_P @ Mar 1 2005, 18:49)
в еепром. Единственное - программа после перезапуска работает, а девайс - не виден. Смотрю по структуре файла - вроде бы все правильно.


Первый байт 0xC2, затем младший VID, старший Вид, младший Пид...

Ещё рекомендую проверить бит ENUM, так как ты пишешь на сях, то какая-нить "умная" функция может установить его в ненадлежащее состояние.
Прямо принудительно выстави в режим "фирмварная обработка запросов"...

И посмотри опять в реестре чё происходит, мож low/high где перепутал...
Go to the top of the page
 
+Quote Post
левша
сообщение Mar 1 2005, 17:54
Сообщение #68


Частый гость
**

Группа: Свой
Сообщений: 151
Регистрация: 4-10-04
Из: Москва
Пользователь №: 789



Цитата(Eugene_P @ Mar 1 2005, 18:49)
Цитата
hex2bin работает из командной строки. Я интеловским пользуюсь.
Кстати, разве кейл в начало хекса виды с пидом прописывает?


Не, не прописывает, поэтому и взял hex2bix.

Цитата
Не знаю, нахрена тебе генератор, там из фара или хиева прописать десять байт, а следом бинарник без изменений воткнуть...
Кароче, геморой себе делаешь. Я на асме всё накарябал и не глючился...
Там самый геморой не  в железе а в софте при работе с дривером. Конечно можно пойтить по пути пользования класса от CyUSB, но изучишь то что тебе в жизни больше не понадобится к тому же, ни хрена изменений внести не сможешь...


Геморрой - согласен, просто хочется разобраться с еепромом до конца.
Хотя он мне и не нужен, прошивка все равно льется и будет литься по USB.
hex2bix добавляет VID, PID и все остальное. И получается файл для заливки в еепром. Единственное - программа после перезапуска работает, а девайс - не виден. Смотрю по структуре файла - вроде бы все правильно.

Где-то уже проскакивала рекомендация использовать драйвер USBIO.
По какому пути пойти? Пользовать драйвер от сайпресса или его?
В каком софте будут проблемы - в firmware или в прикладной программе?
*



Отвечу по порядку:
Для того чтобы программа грузилось из EEPROM нужно только: KEIL, Control Panel. Всё работает прекрасно и никаких гвоздей. hex2bix не добавляет никаких VID и PID(откуда ему о них знать), а просто генерит бинарник. VID и PID и всё остальное что относиться к особенностям программирования должно содержаться в файлах: USBJmpTb.OBJ и EzUSB.LIB.
Драйвер CyUSB нужен для тогочтобы небыло лишнего гемороя при передачи данных на высоких скоростях, иначе можете юзать HID интерфейс и будет вам счастье. Если вы пишете программу, где одновременно с приемом/передачей данных будет происходить их обработка , то вам может понадобиться многопоточное программирование, а у Cypress уже есть загатовка для этого. Лично мне хватило CyUSB.sys поэтому насчёт USBIO даже незаморачивался.
Go to the top of the page
 
+Quote Post
Eugene_P
сообщение Mar 2 2005, 10:05
Сообщение #69


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 16-12-04
Пользователь №: 1 501



Цитата(левша @ Mar 1 2005, 19:54)
Отвечу по порядку:
Для того чтобы программа грузилось из EEPROM нужно только: KEIL, Control Panel. Всё работает прекрасно и никаких гвоздей. hex2bix не добавляет никаких VID и PID(откуда ему о них знать), а просто генерит бинарник. VID и PID и всё остальное что относиться к особенностям программирования должно содержаться в файлах: USBJmpTb.OBJ и EzUSB.LIB.


Правильно, генерит читый бинарник, но я еще делаю так:
hex2bix.exe -I -F 194 -P 34323 -V 1204 -C 0 Test.hex
Trashy все верно сказал, дело в бите ENUM. Пока мой firmware не обрабатывает USB запросы, пусть этим занимается дефолтное устройство.
Кто мне этот бит устанавливал, я правда не понял. sad.gif
Но теперь кристалл работает с прошивкой в еепроме и видится контрол-панелью.

Цитата
Драйвер CyUSB нужен для тогочтобы небыло лишнего гемороя при передачи данных на высоких скоростях, иначе можете юзать HID интерфейс и будет вам счастье. Если вы пишете программу, где одновременно с  приемом/передачей данных будет происходить их обработка , то вам может понадобиться многопоточное программирование, а у Cypress уже есть загатовка для этого. Лично мне хватило CyUSB.sys поэтому насчёт USBIO даже заморачивался.


Спасибо за совет. Да, конечно, будет обработка. Не буду пока исключать CyUSB из своих планов.

Ну что, ни у кого нет что-ли кряка на кейл?
Go to the top of the page
 
+Quote Post
Trashy
сообщение Mar 2 2005, 10:13
Сообщение #70


Частый гость
**

Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049



Кряка?
Это что такое?
Вообсче, это называют "лекарством" и ищут его на телесистемах. Вообщето у меня есть. Но нада переться через всё здание в другой отдел... Сегодня я уже не пойду.
Набери в гугле "Keil лекарство" и будет тебе счастье.
Go to the top of the page
 
+Quote Post
Trashy
сообщение Mar 2 2005, 10:15
Сообщение #71


Частый гость
**

Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049



Цитата(Eugene_P @ Mar 2 2005, 13:05)
Пока мой firmware не обрабатывает USB запросы, пусть этим занимается дефолтное устройство.


А зачем эти запросы обрабатывать софтварно?
Если конечно не собираешься масссторадж писать...
Go to the top of the page
 
+Quote Post
Eugene_P
сообщение Mar 2 2005, 14:30
Сообщение #72


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 16-12-04
Пользователь №: 1 501



Цитата(Trashy @ Mar 2 2005, 12:13)
Кряка?
Это что такое?
Вообсче, это называют "лекарством" и ищут его на телесистемах. Вообщето у меня есть. Но нада переться через всё здание в другой отдел...  Сегодня я уже не пойду.
Набери в гугле "Keil лекарство" и будет тебе счастье.
*


Нет счастья... sad.gif Не один час уже потратил на поиски.
Вышли, пожалуйста, на evgen(at)zfs.lg.ua
На ту версию, которая идет в составе EZ-USB Dev. Tools.
Или со ссылкой на версию, на которую есть кряк
Go to the top of the page
 
+Quote Post
левша
сообщение Mar 2 2005, 18:00
Сообщение #73


Частый гость
**

Группа: Свой
Сообщений: 151
Регистрация: 4-10-04
Из: Москва
Пользователь №: 789



Цитата(Eugene_P @ Mar 2 2005, 17:30)
Нет счастья...  sad.gif  Не один час уже потратил на поиски.
Вышли, пожалуйста, на evgen(at)zfs.lg.ua
На ту версию, которая идет в составе EZ-USB Dev. Tools.
Или со ссылкой на версию, на которую есть кряк

Вообщето это оффтоп, но отвечу здесь.
А какой для какой версии Keilа тебе кряк нужен?
У меня есть но для старой 7й версии Keil С51.

P.S. просьба модераторам не казнить и миловать а просто перенести это обсуждение в отдельную тему.
Go to the top of the page
 
+Quote Post
Eugene_P
сообщение Mar 2 2005, 19:25
Сообщение #74


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 16-12-04
Пользователь №: 1 501



Цитата(левша @ Mar 2 2005, 20:00)
Вообщето это оффтоп, но  отвечу здесь.
А какой для какой версии Keilа тебе кряк нужен?
У меня есть но для старой 7й версии Keil С51.
*


Насколько я понимаю, нужно снять ограничение размера кода, это наверное C51.exe и A51.exe - V6.10
Стартовый адрес - с 0x0000, это BL51.exe - V4.03
сам uVision - V2.10
Go to the top of the page
 
+Quote Post
v_mirgorodsky
сообщение Mar 2 2005, 20:17
Сообщение #75


Местный
***

Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804



Chego-to mne kazetsya, chto gruzit' proshivku v EEPROM dlya togo, chtobi ona potom sama podimalas' pri vklyuchenii device ne tak prosto. Kogda ya zanimalsya etoy problemoy, to prishlos' napisat' spetsial'nuyu programmu formatirovschik sad.gif Vozmozno kontrol'naya panel' beret na sebya vse eti hlopoti po pravil'nomu formatirovaniyu bin-file i vse rabotaet i tak.

Softwerno obrabativat' zaprosi nado esli hochetsya ispol'zovat' EZ USB kak normal'noe USB ustroystvo i upravlyat' im.

Driver k EZ USB nado pisat' svoy kogda s nego nado poluchit' prilichnuyu skorost' s USB. Standartniy driver moget prokachat' poryadka 30MB/s, samopisniy - 43-45MB/s - no eto uze ekstremal'noe programmirovanie smile.gif


--------------------
WBR,
V. Mirgorodsky
Go to the top of the page
 
+Quote Post

19 страниц V  « < 3 4 5 6 7 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 07:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.01453 секунд с 7
ELECTRONIX ©2004-2016