|
|
  |
Проблема с cy7c68013a |
|
|
|
Sep 4 2008, 11:01
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 11-06-08
Пользователь №: 38 217

|
Цитата(slog @ Sep 4 2008, 11:43)  А что для этого делать то надо? Драйвер её не видит, потому что она уже имеет другой VID-PID. Я делал так - взял .inf файл драйвера, прописал туда новый pid/vid (который в микросхеме теперь) и драйвер поставился и сайпресовская консоль плату подцепила. Спасибо за ответы, так и понял, что с отладкой на маленьком мк не получится.. У меня еще проблема - при загрузке .hex проекта в RAM и резета плата не опознается и видится как pid0000/vid0000.. В чем проблема может быть? Вроде как из рам прошивка должна работать?
Сообщение отредактировал Artkop - Sep 4 2008, 11:04
|
|
|
|
|
Sep 9 2008, 12:02
|
Группа: Новичок
Сообщений: 6
Регистрация: 1-08-08
Пользователь №: 39 367

|
Проверьте дескрипторы... И да, почему-то в сайпресовском дефолтном фреймворке EZUSB_Discon() вроде как не вызывается....
Сообщение отредактировал Kaamos - Sep 9 2008, 12:06
|
|
|
|
|
Sep 10 2008, 04:52
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 11-06-08
Пользователь №: 38 217

|
C дескрипторами все ок, та же прошивка, зашитая в ром, работает и определяется как надо. Возможно что то с адресацией не то, я в этом еще не очень разобрался.. И да, посмотрю EZUSB_Discon(), спасибо!
|
|
|
|
|
Sep 16 2008, 17:30
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644

|
Цитата(slog @ Sep 16 2008, 17:04)  Еще раз подниму тему. Есть CY7C64713, Это вроде примерно то же что и 68013. Она грузится из подключенной к ней I2C EEPROM. Надо не отключая EEPROM залить в неё новую прошивку через USB. Что-то не получается. В драйвере менял две строчки с VID-PID на те, что контроллер имеет после загрузки. Драйвер не устанавливается, винда говорит что там отсутствуют сведения об оборудовании, консоль контроллер не видит... Скорее всего есть ошибки в *.inf файле. Если выложите Ваши *.inf и *.hex файлы, то могу проверить на своем модуле. Цитата(slog @ Sep 16 2008, 17:04)  ... Это вообще возможно, залить прошивку через USB после того как контроллер загрузился из EEPROM ? Нет ли в нем каких-то блокировок на этот случай. Ну, у Вас же получилось.  И это стандартный путь для загрузки программы монитора от Cypress для последующей отладки firmware через последовательный порт. Так что, никаких блокировок быть не может. Проблема может возникнуть лишь в случае, когда в EEPROM записана сбойная программа и Windows перестает видеть устройство USB. Да и то, только если не предусмотрена возможность отключать EEPROM. Например, с помощью установки джампера.
|
|
|
|
|
Sep 17 2008, 09:51
|
Знающий
   
Группа: Свой
Сообщений: 961
Регистрация: 28-11-05
Пользователь №: 11 489

|
Цитата(Konst_777 @ Sep 16 2008, 21:30)  Скорее всего есть ошибки в *.inf файле. Если выложите Ваши *.inf и *.hex файлы, то могу проверить на своем модуле. Я выложу только .inf файл, потому что проблемы с ним. Мой .hex работает, но до него дело не доходит, я не могу его загрузить потому что консоль не видит контроллера. Еще раз попробую обьяснить в чем проблема: если я отключаю EEPROM от CY7C64713 то со стандартным драйвером винда видит моё устройство как Cypress EZ-USB FX2LP - EEPROM missing , консоль работает, свой хекс могу загрузить, всё работает. Если я подключаю EEPROM то контроллер после включения питания грузит из него свою прошивку, она мне не известна, винда теперь его видит как USB-HID совместимое устройство и использует свой драйвер. Теперь контроллер имеет VID 4242 PID 0200. Я в цайпрессовском драйвере исправляю пару строчек на этот пид. То что было заккоментировал, изменил VID-PID на нужный. Вот как это теперь выглядит. [Cypress] ; Cypress FX2LP default ID ;%VID_04B4&PID_8613.DeviceDesc%=CyUsb, USB\VID_04B4&PID_8613 %VID_4242&PID_0200.DeviceDesc%=CyUsb, USB\VID_4242&PID_0200 [Strings] PROVIDER="Cypress" MFGNAME="Cypress" CYUSB_INSTALL="Cypress Generic USB Driver Installation Disk" ;VID_04B4&PID_8613.DeviceDesc="Cypress EZ-USB FX2LP - EEPROM missing" VID_4242&PID_0200.DeviceDesc="My USB Example DevicYES" CyUsb.SvcDesc="Cypress Generic USB Driver" И теперь я пытаюсь заставить винду обновить драйвер для HID-устройства, тычу её в этот исправленный .inf она говорит что в этом файле отстутствуют сведения об оборудовании, драйвер не ставит, консоль контроллер не видит, ничего залить в него не могу. Help прочитал уже много раз, не помогает. Возможно проблема не в .inf а в том что я что-то не правильно делаю. А что не так ну ни как не пойму.
--------------------
В действительности всё не так, как на самом деле.
|
|
|
|
|
Sep 17 2008, 20:19
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644

|
Если Вы хотите просто перепрограммировать EEPROM, то достаточно будет отключить EEPROM до подключения питания к CY7C64713. Затем подключить питание к контроллеру и затем подключить EEPROM. После подключения к шине USB Windows будет видеть Ваше устройство как "Cypress EZ-USB FX2LP EEPROM missing". С помощью CyConsole можно "залить" в EEPROM Вашу прошивку (файл *.iic). Вопрос в том, что означает "отключить/подключить EEPROM" для Вашего модуля. Для моего модуля это означает установить/снять джампер XJ1 (см. "EEPROM.gif"). Если же Вы хотите, с помощью CyConsole, сохранить содержимое EEPROM на диске перед записью своего файла *.iic, то, действительно, нужно заменить драйвер Windows для HID устройства на драйвер "CyUSB.sys". Возможно Ваши неприятности связаны с использованием предыдущих версий "CyUSB.sys". Я использовал "CyUSB.sys" из SuiteUSB.NET 2.0. Вначале попробовал заменить драйвер для USB Debug Adapter от SiLabs. Получилось. Тогда решил усложнить задачу. Загрузил в контроллер C8051F340 в CP2201EB от SiLabs их же пример для HID устройства (\USB_HID\BlinkyExample). Только VID и PID заменил на Ваши. Тоже получилось. С помощью Adobe Captivate 3 записал процесс установки. В архиве "to_sloq.rar" есть две папки. Папка "SuiteUSB.NET 2.0" содержит "CyUSB.sys" и отредактированный "CyUSB.inf". В папке "to_sloq_demo" запустите "to_sloq_demo.htm" - увидите процесс замены драйвера на моем компьютере.
Эскизы прикрепленных изображений
|
|
|
|
|
Sep 18 2008, 07:12
|
Знающий
   
Группа: Свой
Сообщений: 961
Регистрация: 28-11-05
Пользователь №: 11 489

|
To Konst_777Спасибо за помощь, попробую по вашему. Я не хочу перезаписывать существующую прошивку во внешней пзу. Я хочу просто её заменить в ОЗУ контроллера на свою, во время подключения устройства к компу, и то не всегда. Родная прошивка должна остаться не тронутой. "отключить/подключить EEPROM" означает поднимание и обратная припайка ноги SDA EEPROM. Это очень не удобно, я хочу чтобы чтобы эта операция не нужна была. YES! Заработала консоль с твоим драйвером! Винда перестала ругаться на отсутствие сведений об оборудовании. Стала устанавливать драйвер. Но тоже получилось не с первого раза. Оказывается она находит два подходящих драйвера, свой HID и Cypress. И по умолчанию ставит свой. Чтобы поставить от Cypress надо его специально выбрать ручками, это не сразу очевидно. Ну спасибо! У меня это и не получалось. Теперь будет следующий этап  Хочется сделать так, чтобы при подключении моего устройства драйвер от Cypress автоматически грузил в 68013 мой .hex файл. Я пока до этого не дошел еще. Это ведь возможно сделать?
--------------------
В действительности всё не так, как на самом деле.
|
|
|
|
|
Sep 18 2008, 18:05
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644

|
Цитата(slog @ Sep 18 2008, 10:12)  ...Я не хочу перезаписывать существующую прошивку во внешней пзу. Я хочу просто её заменить в ОЗУ контроллера на свою, во время подключения устройства к компу, и то не всегда... ...Хочется сделать так, чтобы при подключении моего устройства драйвер от Cypress автоматически грузил в 68013 мой .hex файл... Если загрузку firmware возложить на драйвер, то он будет делать это всегда. До тех пор пока Вы не деинсталируете или не переустановите драйвер. Каким должен быть *.inf файл, чтобы драйвер "CYUSB.SYS" при загрузке выполнял скрипт, описано в подразделе "Execute a script at start-up" раздела "Modifying CyUSB.INF" в "Cypress CyUSB.sys Programmer's Reference" (CyUSB.chm). Если возникнут трудности, напишите какие VID и PID у Вашего firmware. Тогда я выложу отредактированный "CyUSB.inf". На мой взгляд, загрузка firmware с помощью приложения является более удобной. Во-первых, это просто, если приложение написано на C# (см. описание класса CyFX2Device в "Cypress CyUSB.NET DLL Programmer's Reference" (CyUsb.NET.chm)). Во-вторых, для восстановления обмена после сбоя можно использовать этот же метод. В третьих, можно использовать такие же VID и PID. В четвертых, каждое приложение может загружать свое firmware. Независимо от способа загрузки. Важно помнить, что firmware при старте должно переподключаться к шине USB (вызывать EZUSB_Discon()). Только в этом случае хост (Windows) узнает, что подключено новое устройство USB и заново считает дескрипторы этого устройства.
|
|
|
|
|
Sep 24 2008, 07:44
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 11-06-08
Пользователь №: 38 217

|
Цитата(Konst_777 @ Sep 18 2008, 00:19)  Если Вы хотите просто перепрограммировать EEPROM, то достаточно будет отключить EEPROM до подключения питания к CY7C64713. Затем подключить питание к контроллеру и затем подключить EEPROM. После подключения к шине USB Windows будет видеть Ваше устройство как "Cypress EZ-USB FX2LP EEPROM missing". С помощью CyConsole можно "залить" в EEPROM Вашу прошивку (файл *.iic).
Вопрос в том, что означает "отключить/подключить EEPROM" для Вашего модуля. Для моего модуля это означает установить/снять джампер XJ1 (см. "EEPROM.gif").
Если же Вы хотите, с помощью CyConsole, сохранить содержимое EEPROM на диске перед записью своего файла *.iic, то, действительно, нужно заменить драйвер Windows для HID устройства на драйвер "CyUSB.sys". Возможно Ваши неприятности связаны с использованием предыдущих версий "CyUSB.sys". Я использовал "CyUSB.sys" из SuiteUSB.NET 2.0. Вначале попробовал заменить драйвер для USB Debug Adapter от SiLabs. Получилось. Тогда решил усложнить задачу. Загрузил в контроллер C8051F340 в CP2201EB от SiLabs их же пример для HID устройства (\USB_HID\BlinkyExample). Только VID и PID заменил на Ваши. Тоже получилось. С помощью Adobe Captivate 3 записал процесс установки. В архиве "to_sloq.rar" есть две папки. Папка "SuiteUSB.NET 2.0" содержит "CyUSB.sys" и отредактированный "CyUSB.inf". В папке "to_sloq_demo" запустите "to_sloq_demo.htm" - увидите процесс замены драйвера на моем компьютере. Добрый день! Каким образом вы инициализируете EPPROM? Просто отключаете джампер и через сайпрессконсоль пишете в память? У меня после подобных манипуляций (на digilentовскую плату я впаял джампер (на схеме jp2)) без джампера грузится как EPPROM missing. После соединения джампера и попытки прошить консоль говорит - EPPROM not enabled..
Эскизы прикрепленных изображений
|
|
|
|
|
Sep 25 2008, 09:59
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 11-06-08
Пользователь №: 38 217

|
АДИКМ, ошибка моя, все прошивается) Пытался прошить кнопочкой small EPPROM, а надо large 64k EPPROM) У меня же в свойствах проекта именно выставлено 64k ROM. Спасибо за ответы!
|
|
|
|
|
Sep 25 2008, 21:08
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644

|
Цитата(slog @ Sep 24 2008, 13:28)  А как прочитать содержимое подключенной к 68013 I2С EEPROM? Чтобы сохранить в виде файла. Ответы надо искать в документе "\Cypress\USB\doc\General\ CyConsole.pdf". Или посмотреть, как это сделать, запустив "Save_EEPROM_demo.htm" из архива "Save_EEPROM_demo.rar"
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|