torik 0 3 марта, 2006 Опубликовано 3 марта, 2006 · Жалоба Значит выяснил такую штуку: - с драйвером все нормально - программа когда залита в ОЗУ работает без проблем - когда заливаешь в еепром - не работает Для создания файла для заливки в еепром используется следующая опция компиллера: c:\cypress\usb\bin\hex2bix -i -f 0xC2 -o bulkext.iic bulkext.hex Дело не в стирании еепром памяти - пробовал пустую ставить и заливать. Все-таки откликнитесь кто может чото предполагать. Может дело в неправильной опции компилятора? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость MALLOY2 3 марта, 2006 Опубликовано 3 марта, 2006 · Жалоба Попробуй так -> c:\cypress\usb\bin\hex2bix -i -p PID -v VID -f 0xC2 -c 0x00 -o bulkext.iic bulkext.hex PID и VID соответственно подставиш нужные и еще в проге звакоментирую ренумерацию она ненужна при загрузке с EEPROM Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
torik 0 3 марта, 2006 Опубликовано 3 марта, 2006 · Жалоба А чо коментировать то, это убрать?: #ifndef NO_RENUM // Renumerate if necessary. Do this by checking the renum bit. If it // is already set, there is no need to renumerate. The renum bit will // already be set if this firmware was loaded from an eeprom. if(!(USBCS & bmRENUM)) { EZUSB_Discon(TRUE); // renumerate } #endif // unconditionally re-connect. If we loaded from eeprom we are // disconnected and need to connect. If we just renumerated this // is not necessary but doesn't hurt anything USBCS &=~bmDISCON; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
torik 0 3 марта, 2006 Опубликовано 3 марта, 2006 · Жалоба Гы))) Всем спасибо огромное - ну и лоханулся....... Там в опциях компилятора в вкладке BL51 Locate есть такое code range = надо 0x80-0x0FFF xDATA range = надо 0x1000 Все тогда работает.............Но где можно про все это почитать, а? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
левша 0 15 марта, 2006 Опубликовано 15 марта, 2006 (изменено) · Жалоба Все тогда работает.............Но где можно про все это почитать, а? В описание по Keil, которое поставляется вместе с отладочным комплектом. НЕ подскажу так как эти сам неуогда непользовался у меня прога с компа всегда загружается, фича такая в дрова встроенная(дрова сами делали т.к. у ципреса олни глючные). Сильное заявление. А в чём глюк интересно? У меня вроде всё боле мене, может я чего не заметил. Использую CyUSB.sys и библиотеку под Borland C+. Изменено 15 марта, 2006 пользователем левша Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Glitko 0 7 мая, 2009 Опубликовано 7 мая, 2009 · Жалоба Помогите разобратся ! У меня на плате CY768013A-128, АТмега-64,ПЛИСИна,АЦП.CY768013A-128 используется в режиме GPIF.Прошивка CY768013A-128 нормально заливается Сайпросовской консолью и работает.Но я хочу грузить прошивку из АТмега-64, при включении питания ,дальше Атмега по своему плану.Делаю файл *.iic с помощью утилиты hex2bix,заношу его в АТмегу,при повторном включении питания шиш, прошивка не работает ,подхватываются стандартный для CY768013A-128 VID и PID!Просто VID и PID с АТмеги грузятся без проблем.Подскажите что может быть? Я понимаю, что вариантов много но все-таки!? Тему внимательно прчитал, при формировании *.iic делал все как советовали!http://electronix.ru/forum/style_emoticons/default/crying.gif Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=AK= 17 8 мая, 2009 Опубликовано 8 мая, 2009 · Жалоба Прошивка CY768013A-128 нормально заливается Сайпросовской консолью и работает.Но я хочу грузить прошивку из АТмега-64, при включении питания ,дальше Атмега по своему плану.Делаю файл *.iic с помощью утилиты hex2bix,заношу его в АТмегу,при повторном включении питания шиш, прошивка не работает ,подхватываются стандартный для CY768013A-128 VID и PID! Непонятно про какую прошивку вы говорите. Если речь о фирмваре CY768013A, то совсем непонятно, каким образом вы ее пытаетесь грузить из Атмеги в CY768013A. Как известно, фирмварь в CY768013A при подаче питания или после сброса может грузиться двумя способами: - если в I2C EEPROM, пристегнутом к CY768013A , есть специальные метки, описанные в доке на CY768013A, то проц всасывает фирмварь из I2C EEPROM - если меток нет, то проц всасывает фирмварь через USB, а из I2C EEPROM берет только дескрипторы USB, и то, если они там есть. А если I2C EEPROM вообще нет, то CY768013A по умолчанию использует дескрипторы Сайпреса, зашитые в кремень CY768013A. Каким боком сюда Атмега приткнулась - ума не приложу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Glitko 0 8 мая, 2009 Опубликовано 8 мая, 2009 · Жалоба Непонятно про какую прошивку вы говорите. Если речь о фирмваре CY768013A, то совсем непонятно, каким образом вы ее пытаетесь грузить из Атмеги в CY768013A. Как известно, фирмварь в CY768013A при подаче питания или после сброса может грузиться двумя способами: - если в I2C EEPROM, пристегнутом к CY768013A , есть специальные метки, описанные в доке на CY768013A, то проц всасывает фирмварь из I2C EEPROM - если меток нет, то проц всасывает фирмварь через USB, а из I2C EEPROM берет только дескрипторы USB, и то, если они там есть. А если I2C EEPROM вообще нет, то CY768013A по умолчанию использует дескрипторы Сайпреса, зашитые в кремень CY768013A. Каким боком сюда Атмега приткнулась - ума не приложу. Очень даже понятно!Возможно Вы не знаете но у АТмеги есть порт I2C и она вполне может притворятся загрузочной EEPROM.Так как АТмега полюбому используется в проекте то логично было бы использовать ее ресурсы для загрузки файла *.iic в CY768013A хотябы для того что бы не ставить лишние микросхемы в плату. На счет специальных меток и тд...Вы ,что думаете я бы стал задавать свой вопрос не разобравшись ,что и как грузится в CY768013A? У меня проблема с загрузкой *.iic не потому что он не выгружается в CY768013A из Атмеги ,а потому что загруженная прошивка в CY768013A не работает,возможно неправильно формируется из хекса,возможно что то другое.Может кто сталкивался с подобной проблемой? Или обьясните подробно какие у кого были проблемы с формированием файла *.iic! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=AK= 17 9 мая, 2009 Опубликовано 9 мая, 2009 · Жалоба у АТмеги есть порт I2C и она вполне может притворятся загрузочной EEPROM. Тогда вопрос в том, насколько хорошо она "притворяется" EEPROM-ом. Например, пока Атмега стартует и настраивает свой I2C порт, FX2 уже успевает посмотреть, есть ли EEPROM, не обнаруживает ее и работает с PID VID ро умолчанию. Чтобы избежать этого, Атмега до поры должна держать FX2 в ресете. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Glitko 0 9 мая, 2009 Опубликовано 9 мая, 2009 · Жалоба Тогда вопрос в том, насколько хорошо она "притворяется" EEPROM-ом. Например, пока Атмега стартует и настраивает свой I2C порт, FX2 уже успевает посмотреть, есть ли EEPROM, не обнаруживает ее и работает с PID VID ро умолчанию. Чтобы избежать этого, Атмега до поры должна держать FX2 в ресете. Это врядли.Ведь простая загрузка своих PID VID при адресации 0х0С с Атмеги осуществляется без проблем ,значит инициализация I2C у Атмеги проходит достаточно быстро.Хотя я это конечно проверю ,возможно при возростании размера кода залитого в Атмегу меняется и время инициализации..Какие еще варианты? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=AK= 17 9 мая, 2009 Опубликовано 9 мая, 2009 · Жалоба Какие еще варианты? Еще один очевидный вариант - хэндшейк. Настоящий EEPROM выдает все байты без задержек. А Атмега, симулирующая EEPROM, наверняка неспособна обеспечить выдачу массива со скоростью 400 кбит/сек. Сколько-то первых байт, сидящих в буфере, она выдаст без задержки, а потом начнет тормозить. И вовсе не факт, что FX2 согласится ждать пока Атмега тормозит. Надо посмотреть доку, будет ли FX2 ждать, если Атмега начнет тормозить I2C, задерживая SCL. А также посмотреть, задерживает ли Атмега выдачу SCL, пока подкачивает данные в свои I2C буфера. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Glitko 0 9 мая, 2009 Опубликовано 9 мая, 2009 · Жалоба Еще один очевидный вариант - хэндшейк. Настоящий EEPROM выдает все байты без задержек. А Атмега, симулирующая EEPROM, наверняка неспособна обеспечить выдачу массива со скоростью 400 кбит/сек. Сколько-то первых байт, сидящих в буфере, она выдаст без задержки, а потом начнет тормозить. И вовсе не факт, что FX2 согласится ждать пока Атмега тормозит. Надо посмотреть доку, будет ли FX2 ждать, если Атмега начнет тормозить I2C, задерживая SCL. А также посмотреть, задерживает ли Атмега выдачу SCL, пока подкачивает данные в свои I2C буфера. Онозначно нет.Выдача масива 100 кбит\сек что является скоростью по умолчанию в cy7c68013.Вы меня проверяете?Конечно Атмега способна выдавать и 400 кбит\сек без всяких проблем но такая скорость не предусмотрена в cy7c68013 .Для этого надо изменить EEPROM Configuration ByteIf "400KHZ=0, the I²C-compatible bus operates at approximately 100 KHz. If 400KHZ=1, the I²C-compatible bus operates at approximately 400 KHz. This bit is copied to I²CCTL.0, whose default value is 0, or “100 KHz”. Once the CPU is running, firmware can modify this bit" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=AK= 17 10 мая, 2009 Опубликовано 10 мая, 2009 · Жалоба Бодовая скорость сама по себе не так уж важна. Важнее насколько быстро Атмега будет успевать класть очередной байт в буфер I2C, а также важен хэндшейк, который приостановит FX2 в те моменты, когда очередной байт еще не готов. Не знаю как устроен блок I2C в Атмеге, но думаю, что вряд ли он использует ПДП или напрямую маппится на двухпортовую память, это маловероятно. Скорей всего вы подгружаете байты в его буфер программно, или в поллинге, или - что более вероятно - в прерывании. В любом случае другие процедуры обработки прерываний могут тормозить перекачку на неизвестно какое время. Легче всего проблема решается если Атмега будет придерживать I2C пока очередной байт не готов. Альтернативно можно постараться обеспечить высший приоритет прерывaнию I2C в Атмеге, чтобы эта процедура обработки могла прерывать другие прерывания. Или отрубить Атмеге все прерывания кроме I2C, пока FX2 не загрузится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Maks 0 22 сентября, 2010 Опубликовано 22 сентября, 2010 · Жалоба Ребята, как это чудо вообще прошивать? У меня есть девайс со съемной EEPROM и файл IIC. Вставляю девайс без EEPROM - вижу USB девайс без драйверов с VID=04B4 и PID=8613. Что делать дальше то? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Konst_777 0 22 сентября, 2010 Опубликовано 22 сентября, 2010 · Жалоба Ребята, как это чудо вообще прошивать?... У Cypress есть две утилиты с помощью которых можно программировать микросхему EEPROM, подключенную к FX2LP: CyConsole ("CyConsole.exe") входит в состав CY3684 EZ-USB FX2LP Development Kit (скачайте и установите SETUP_FX2LP_DVK_1004.exe), а также в состав "SuiteUSB 3.4"; Control Center ("CyControl.exe") - входит в состав "SuiteUSB 3.4". Для Вас будет более полезен подфорум RS232/LPT/USB/PCMCIA/FireWire. В нем больше тем, посвященных вопросам использования контроллера FX2LP. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться