Перейти к содержанию
    

А что для этого делать то надо?

Драйвер её не видит, потому что она уже имеет другой VID-PID.

Я делал так - взял .inf файл драйвера, прописал туда новый pid/vid (который в микросхеме теперь) и драйвер поставился и сайпресовская консоль плату подцепила.

 

Спасибо за ответы, так и понял, что с отладкой на маленьком мк не получится..

 

У меня еще проблема - при загрузке .hex проекта в RAM и резета плата не опознается и видится как pid0000/vid0000.. В чем проблема может быть? Вроде как из рам прошивка должна работать?

Изменено пользователем Artkop

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В прошивке при инициализации поставьте:

EZUSB_Discon(TRUE); // инициируется переподключение

Никакого ресета не нужно.

Плата стартует автоматом после загрузки hex-файла и переподключается с новыми vid/pid.

 

Если не работает (pid0000/vid0000) - значит в прошивке ошибка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проверьте дескрипторы... И да, почему-то в сайпресовском дефолтном фреймворке EZUSB_Discon() вроде как не вызывается....

Изменено пользователем Kaamos

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

C дескрипторами все ок, та же прошивка, зашитая в ром, работает и определяется как надо. Возможно что то с адресацией не то, я в этом еще не очень разобрался.. И да, посмотрю EZUSB_Discon(), спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще раз подниму тему.

Есть CY7C64713, Это вроде примерно то же что и 68013. Она грузится из подключенной к ней I2C EEPROM. Надо не отключая EEPROM залить в неё новую прошивку через USB. Что-то не получается. В драйвере менял две строчки с VID-PID на те, что контроллер имеет после загрузки. Драйвер не устанавливается, винда говорит что там отсутствуют сведения об оборудовании, консоль контроллер не видит. Если отключить EEPROMку то все работает (с VID-PID по умолчанию). Это вообще возможно, залить прошивку через USB после того как контроллер загрузился из EEPROM ? Нет ли в нем каких-то блокировок на этот случай.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще раз подниму тему.

Есть CY7C64713, Это вроде примерно то же что и 68013. Она грузится из подключенной к ней I2C EEPROM. Надо не отключая EEPROM залить в неё новую прошивку через USB. Что-то не получается. В драйвере менял две строчки с VID-PID на те, что контроллер имеет после загрузки. Драйвер не устанавливается, винда говорит что там отсутствуют сведения об оборудовании, консоль контроллер не видит...

Скорее всего есть ошибки в *.inf файле. Если выложите Ваши *.inf и *.hex файлы, то могу проверить на своем модуле.

 

 

... Это вообще возможно, залить прошивку через USB после того как контроллер загрузился из EEPROM ? Нет ли в нем каких-то блокировок на этот случай.

Ну, у Вас же получилось. :) И это стандартный путь для загрузки программы монитора от Cypress для последующей отладки firmware через последовательный порт. Так что, никаких блокировок быть не может.

Проблема может возникнуть лишь в случае, когда в EEPROM записана сбойная программа и Windows перестает видеть устройство USB. Да и то, только если не предусмотрена возможность отключать EEPROM. Например, с помощью установки джампера.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скорее всего есть ошибки в *.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 а в том что я что-то не правильно делаю. А что не так ну ни как не пойму.

cyusb.inf.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если Вы хотите просто перепрограммировать 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" - увидите процесс замены драйвера на моем компьютере.

post-5644-1221682725_thumb.jpg

to_sloq.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

To Konst_777

Спасибо за помощь, попробую по вашему. Я не хочу перезаписывать существующую прошивку во внешней пзу. Я хочу просто её заменить в ОЗУ контроллера на свою, во время подключения устройства к компу, и то не всегда. Родная прошивка должна остаться не тронутой. "отключить/подключить EEPROM" означает поднимание и обратная припайка ноги SDA EEPROM. Это очень не удобно, я хочу чтобы чтобы эта операция не нужна была.

 

 

YES! Заработала консоль с твоим драйвером!

Винда перестала ругаться на отсутствие сведений об оборудовании. Стала устанавливать драйвер. Но тоже получилось не с первого раза. Оказывается она находит два подходящих драйвера, свой HID и Cypress. И по умолчанию ставит свой. Чтобы поставить от Cypress надо его специально выбрать ручками, это не сразу очевидно.

 

Ну спасибо! У меня это и не получалось.

 

 

Теперь будет следующий этап :)

Хочется сделать так, чтобы при подключении моего устройства драйвер от Cypress автоматически грузил в 68013 мой .hex файл. Я пока до этого не дошел еще. Это ведь возможно сделать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...Я не хочу перезаписывать существующую прошивку во внешней пзу. Я хочу просто её заменить в ОЗУ контроллера на свою, во время подключения устройства к компу, и то не всегда...

...Хочется сделать так, чтобы при подключении моего устройства драйвер от 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 и заново считает дескрипторы этого устройства.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если Вы хотите просто перепрограммировать 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..

post-38217-1222242203_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Расскажите как Вы прошиваете ? Отключаем память, подключаем плату, подключаем память, запускаем утилиту и прошиваем.

 

Сигнал защиты от записи в EEPROM, кстати, у Вас на плате куда подключен?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как прочитать содержимое подключенной к 68013 I2С EEPROM?

 

Чтобы сохранить в виде файла.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

АДИКМ, ошибка моя, все прошивается) Пытался прошить кнопочкой small EPPROM, а надо large 64k EPPROM) У меня же в свойствах проекта именно выставлено 64k ROM. Спасибо за ответы!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как прочитать содержимое подключенной к 68013 I2С EEPROM?

Чтобы сохранить в виде файла.

Ответы надо искать в документе "\Cypress\USB\doc\General\CyConsole.pdf".

Или посмотреть, как это сделать, запустив "Save_EEPROM_demo.htm" из архива "Save_EEPROM_demo.rar" :)

Save_EEPROM_demo.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...