Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: cy7c68013 и EEPROM
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры
torik
Всем привет!
Пока программу писал, прогу заливал не в еепром, а прямо в ОЗУ (использую отладочный комплект). Теперь хочу записать программу в еепром 64 кБайт. Возникла проблема - однажды я туда уже записывал прогу и все работало. После того как записал по новой - не работает, неизвестное устройство и все.

Может надо сперва стереть епром. Как это сделать? И какие еще могут быть камни тут?
MALLOY2
Стерается еепром очень просто, пишется программа которая ее стерает и записывается в озу.

А камни следующие могут быть не правельный VID/PID, не правельный формат EEPROM, не работает программа, не правельный тип EEPROM.


И еще, програма которая стартует из EPPROM должна быть переконвертина в загурузочный формат, тоесть смысл в том что если взять программу и тупо записать в еепром то она естестно работать не будет
torik
Енто вот:
- прога работает когда в ОЗУ пишу
- види и пид теже само сабой
- компилирую ясен фиг и создаю файл для записи именно вепромм - не хекс же заливаю.

А если не стирать, а перезаписывать - то не должно быть проблем?
torik
Блин - еще, как поглядеть какие вункции есть в библиотеке ezusb.lib? Чото я так быстро сообразить как стереть епромку программно не соображу
MALLOY2
Чем файл для еепром создаеш ?

Вот кусок кода для стирания



/******************************************************************************
* == EEPROMWrite ==
*
* PARAMETERS: addr- адресс в EEPROM; value - значение
* DESCRIPTION: Записыывает байт в EEPROM
* RETURNS: none
*
* MODIFIED:
* DATE: 16.07.2005
******************************************************************************/
void EEPROMWriteByte(WORD addr, BYTE value)
{
BYTE i = 0;
BYTE xdata ee_str[3];
if(DB_Addr)ee_str[i++] = MSB(addr);
ee_str[i++] = LSB(addr);
ee_str[i++] = value;
EZUSB_WriteI2C(I2C_Addr, i, ee_str);
EZUSB_WaitForEEPROMWrite(I2C_Addr);
}
/******************************************************************************
* == EEPROMWrite ==
*
* PARAMETERS: addr- начальный адресс в EEPROM; length - длинна буфера; buf - указатель нга буффер
* DESCRIPTION: Записывает в EEPROM данные из буфера
* RETURNS:
*
* MODIFIED:
* DATE: 16.07.2005
******************************************************************************/
void EEPROMWrite(WORD addr, BYTE length, BYTE xdata *buf)
{
unsigned char i;
for(i=0;i<length;++i)
EEPROMWriteByte(addr++,buf[i]);
}
/******************************************************************************
* == EEPROMRead ==
*
* PARAMETERS: addr- начальный адресс в EEPROM; length - длинна буфера; buf - указатель нга буфер
* DESCRIPTION: читает в буфер данные из EEPROM
* RETURNS: none
*
* MODIFIED:
* DATE: 16.07.2005
******************************************************************************/
void EEPROMRead(unsigned int addr, unsigned int length, unsigned char xdata *buf)
{
unsigned char i = 0;
unsigned char j = 0;
unsigned char xdata ee_str[2];

if(DB_Addr) ee_str[i++] = MSB(addr);
ee_str[i++] = LSB(addr);
EZUSB_WriteI2C(I2C_Addr, i, ee_str);
EZUSB_ReadI2C(I2C_Addr, length, buf);
}




это кудато вставиш

for (i=0;i<16;i++) EEPROMWriteByte(i,0xFF); //записывает в первые 16 адресов значение 0xFF
torik
Файл создаю в компиляторе опцией
c:\cypress\usb\bin\hex2bix -i -f 0xC2 -o bulkext.iic bulkext.hex

Пробовал залить тот который уже работал раньше - уже не хочет

Гы))) Появляется неизвестное устройство - хотю ему драйвер поставить, указываю инфу CyUsb.inf. Он говорит нет тут сведений. А монитором смотрю - процедуру перенумерации не прошел пишет. Этот драйвер устанавливал, когда в ОЗУ заливал - все работало............... Чо бы это было?
MALLOY2
значит муссор в еепром, подыми вывод DATA еепромины
torik
т.е. надо ее всю очистить? Как очистить фрагмент - ясно - записывать нули, но скакого по какой адрес?
Адресация то в пределах байта, анадо 64 кБайт стереть
MALLOY2
адресация вобщето WORD, но это не столь важно главное стереть первых 8 байт там хранится VID/PID и признак загрузки с еепром.


Да и еще ты утилитой не правельно пользуешся, там еще надо задать VID/PID и опции
torik
Подскажите, как задать правильно опции? Раньше я делал с таукими опциями и все было нормуль. Правда ща я перешел на кейл 8.01. А обязательно стирать то первые 8 байт? он их разве не перепишет сам?
MALLOY2
НЕ подскажу так как эти сам неуогда непользовался у меня прога с компа всегда загружается, фича такая в дрова встроенная(дрова сами делали т.к. у ципреса олни глючные).

НЕ перепишет так как вы даже в ОЗУ ничего залить не можете потомучто драйфер девайс найти не может, так как по включению вычитывает из еепром мусор. Выход выпаять память и стереть программатором. Вариань 2 поднять ногу DATA залить в ОЗУ прогу программу стирания, НЕ ОТКЛЮЧАЯ питания припаять ногу DATA на место и дать команду стереть но это вы делаете на свой страх и риск.
torik
Спасибо, попробую стереть. Но всеже мы не совсем друг друга поняли - мне не надо ничего паять чтобы записать прогу в ОЗУ - на демоплате можно отключить и епром переключателем, а программера нету 8(((.

Я думал, что когда с помощью отладочного комплекта заливаю программу в еепром - она должна как бы обновиться, разве нет?
MALLOY2
Должна и будет, но если формат не правельный или ошибку в PID/VID скажем сделаеш то это равносильно пилить ветку подсобой
torik
Значит я неправильно откорректировал файл CyUsb.inf
Скажите как его прально откоректировать?
MALLOY2
Этого я незнаю, я занимаюсь только железом.
torik
Значит выяснил такую штуку:
- с драйвером все нормально
- программа когда залита в ОЗУ работает без проблем
- когда заливаешь в еепром - не работает

Для создания файла для заливки в еепром используется следующая опция компиллера:
c:\cypress\usb\bin\hex2bix -i -f 0xC2 -o bulkext.iic bulkext.hex

Дело не в стирании еепром памяти - пробовал пустую ставить и заливать.

Все-таки откликнитесь кто может чото предполагать. Может дело в неправильной опции компилятора?
MALLOY2
Попробуй так ->

c:\cypress\usb\bin\hex2bix -i -p PID -v VID -f 0xC2 -c 0x00 -o bulkext.iic bulkext.hex

PID и VID соответственно подставиш нужные

и еще в проге звакоментирую ренумерацию она ненужна при загрузке с EEPROM
torik
А чо коментировать то, это убрать?:

#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
Гы))) Всем спасибо огромное - ну и лоханулся.......
Там в опциях компилятора в вкладке BL51 Locate есть такое
code range = надо 0x80-0x0FFF
xDATA range = надо 0x1000


Все тогда работает.............Но где можно про все это почитать, а?
левша
Цитата(torik @ Mar 3 2006, 13:42) *
Все тогда работает.............Но где можно про все это почитать, а?

В описание по Keil, которое поставляется вместе с отладочным комплектом.

Цитата(MALLOY2 @ Mar 1 2006, 14:55) *
НЕ подскажу так как эти сам неуогда непользовался у меня прога с компа всегда загружается, фича такая в дрова встроенная(дрова сами делали т.к. у ципреса олни глючные).

Сильное заявление.
А в чём глюк интересно?
У меня вроде всё боле мене, может я чего не заметил. Использую CyUSB.sys и библиотеку под Borland C+.
Glitko
Помогите разобратся ! У меня на плате 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=
Цитата(Glitko @ May 8 2009, 07:05) *
Прошивка 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
Цитата(=AK= @ May 8 2009, 05:46) *
Непонятно про какую прошивку вы говорите. Если речь о фирмваре 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=
Цитата(Glitko @ May 9 2009, 00:41) *
у АТмеги есть порт I2C и она вполне может притворятся загрузочной EEPROM.

Тогда вопрос в том, насколько хорошо она "притворяется" EEPROM-ом.

Например, пока Атмега стартует и настраивает свой I2C порт, FX2 уже успевает посмотреть, есть ли EEPROM, не обнаруживает ее и работает с PID VID ро умолчанию. Чтобы избежать этого, Атмега до поры должна держать FX2 в ресете.
Glitko
Цитата(=AK= @ May 9 2009, 03:12) *
Тогда вопрос в том, насколько хорошо она "притворяется" EEPROM-ом.

Например, пока Атмега стартует и настраивает свой I2C порт, FX2 уже успевает посмотреть, есть ли EEPROM, не обнаруживает ее и работает с PID VID ро умолчанию. Чтобы избежать этого, Атмега до поры должна держать FX2 в ресете.

Это врядли.Ведь простая загрузка своих PID VID при адресации 0х0С с Атмеги осуществляется без проблем ,значит инициализация I2C у Атмеги проходит достаточно быстро.Хотя я это конечно проверю ,возможно при возростании размера кода залитого в Атмегу меняется и время инициализации..Какие еще варианты?
=AK=
Цитата(Glitko @ May 9 2009, 13:32) *
Какие еще варианты?

Еще один очевидный вариант - хэндшейк. Настоящий EEPROM выдает все байты без задержек. А Атмега, симулирующая EEPROM, наверняка неспособна обеспечить выдачу массива со скоростью 400 кбит/сек. Сколько-то первых байт, сидящих в буфере, она выдаст без задержки, а потом начнет тормозить. И вовсе не факт, что FX2 согласится ждать пока Атмега тормозит. Надо посмотреть доку, будет ли FX2 ждать, если Атмега начнет тормозить I2C, задерживая SCL. А также посмотреть, задерживает ли Атмега выдачу SCL, пока подкачивает данные в свои I2C буфера.
Glitko
Цитата(=AK= @ May 9 2009, 13:05) *
Еще один очевидный вариант - хэндшейк. Настоящий 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=
Бодовая скорость сама по себе не так уж важна. Важнее насколько быстро Атмега будет успевать класть очередной байт в буфер I2C, а также важен хэндшейк, который приостановит FX2 в те моменты, когда очередной байт еще не готов. Не знаю как устроен блок I2C в Атмеге, но думаю, что вряд ли он использует ПДП или напрямую маппится на двухпортовую память, это маловероятно. Скорей всего вы подгружаете байты в его буфер программно, или в поллинге, или - что более вероятно - в прерывании. В любом случае другие процедуры обработки прерываний могут тормозить перекачку на неизвестно какое время. Легче всего проблема решается если Атмега будет придерживать I2C пока очередной байт не готов. Альтернативно можно постараться обеспечить высший приоритет прерывaнию I2C в Атмеге, чтобы эта процедура обработки могла прерывать другие прерывания. Или отрубить Атмеге все прерывания кроме I2C, пока FX2 не загрузится.
_Макс
Ребята, как это чудо вообще прошивать? У меня есть девайс со съемной EEPROM и файл IIC. Вставляю девайс без EEPROM - вижу USB девайс без драйверов с VID=04B4 и PID=8613. Что делать дальше то?
Konst_777
Цитата(_Макс @ Sep 22 2010, 19:16) *
Ребята, как это чудо вообще прошивать?...

У Cypress есть две утилиты с помощью которых можно программировать микросхему EEPROM, подключенную к FX2LP:
  1. CyConsole ("CyConsole.exe") входит в состав CY3684 EZ-USB FX2LP Development Kit (скачайте и установите SETUP_FX2LP_DVK_1004.exe), а также в состав "SuiteUSB 3.4";
  2. Control Center ("CyControl.exe") - входит в состав "SuiteUSB 3.4".
Для Вас будет более полезен подфорум RS232/LPT/USB/PCMCIA/FireWire. В нем больше тем, посвященных вопросам использования контроллера FX2LP.
_Макс
Установил, но CyConsole не видит мое устройство. В диспетчере устройств оно есть, я уже писал оттуда VID и PID. Может сначала драйвер для этого устройства поставить нужно? А какой?
_Макс
Прошил, достаточно было установить для устройства без EEPROM драйвер CyUSB, базовую прошивку оно имеет в ROM, я и подумать не мог. Только файлы inf почему-то имели расширение bak, исправил и драйвер установился. Но только под XP, с этим тоже была проблема. Оказалось все намного проще, я думал EEPROM прошивать как-то отдельно. Спасибо!
Serg_Sm
Подскажите, так можно ли очистить EEPROM без прямого доступа к ней. Т.е. есть закрытый прибор на FX2, в нем доступ возможен только к USB порту. Прошивка убита - при подсоединению к компу определяется как неизвестное устройство (VID/PID = 0).
jcxz
Цитата(Serg_Sm @ Aug 12 2016, 12:54) *
Подскажите, так можно ли очистить EEPROM без прямого доступа к ней. Т.е. есть закрытый прибор на FX2, в нем доступ возможен только к USB порту.

Нет конечно. Если только сама прошивка, находящаяся в EEPROM, не позволяет этого.

Цитата(Serg_Sm @ Aug 12 2016, 12:54) *
Прошивка убита - при подсоединению к компу определяется как неизвестное устройство (VID/PID = 0).

Насколько помню: если в EEPROM нет прошивки или она невалидна, то сабж должен переходить в режим загрузки прошивки по USB.
Serg_Sm
Цитата(jcxz @ Aug 13 2016, 10:58) *
Насколько помню: если в EEPROM нет прошивки или она невалидна, то сабж должен переходить в режим загрузки прошивки по USB.

И как определяется её невалидность? Грубо говоря при обновлении прошивки вместо 16Кб данных записалось только 8, после этого работоспособность была утеряна (хотя до этого родная прошивка слетела по непонятным причинам).
jcxz
Цитата(Serg_Sm @ Aug 15 2016, 15:26) *
И как определяется её невалидность?

Очевидно, что это описано в документации. Помнится там должен быть какой-то заголовок.
Serg_Sm
Цитата(jcxz @ Aug 15 2016, 13:55) *
Очевидно, что это описано в документации. Помнится там должен быть какой-то заголовок.

Если только по первому байту, то про 0xC0, 0xC2 - это понятно. Сейчас там 0xC2 - загрузка из EEPROM. Просто здесь на форуме описывали чудесную программу CyConsole, с помощью которой можно перепрошивать FX2 и которая лучше EzMr (я ей всё прошивал). Вот я и интересуюсь.
jcxz
Цитата(Serg_Sm @ Aug 15 2016, 17:39) *
Если только по первому байту, то про 0xC0, 0xC2 - это понятно. Сейчас там 0xC2 - загрузка из EEPROM. Просто здесь на форуме описывали чудесную программу CyConsole, с помощью которой можно перепрошивать FX2 и которая лучше EzMr (я ей всё прошивал). Вот я и интересуюсь.

А что в ней чудесного? Ну если нужна, то она есть в составе "Cypress Suite USB".
Я EEPROM прошивал сам... насколько помню.
Serg_Sm
Цитата(jcxz @ Aug 15 2016, 17:28) *
А что в ней чудесного? Ну если нужна, то она есть в составе "Cypress Suite USB".
Я EEPROM прошивал сам... насколько помню.


На основе этого сообщения вопрос и появился
Serg_Sm
Связался с техподдержкой по нерабочему прибору - ответили, есть всё-таки SCL/SDA на внешнем разъёме. Алгоритм действий прислали - отключаете прибор, перемычку SDA к земле, подключаете к компу, перемычку убираете и шьёте нашей утилитой. Попробовал, не работает)) Посмотрел осциллографом - как только перемычка убирается (хоть через 10 секунд, хоть через минуту) сразу идет 500мс загрузка с EEPROM (судя по всему), т.е. сброса контроллера не происходит. Так как его правильно сбросить?
jcxz
Цитата(Serg_Sm @ Aug 18 2016, 13:01) *
Связался с техподдержкой по нерабочему прибору - ответили, есть всё-таки SCL/SDA на внешнем разъёме. Алгоритм действий прислали - отключаете прибор, перемычку SDA к земле, подключаете к компу, перемычку убираете и шьёте нашей утилитой. Попробовал, не работает)) Посмотрел осциллографом - как только перемычка убирается (хоть через 10 секунд, хоть через минуту) сразу идет 500мс загрузка с EEPROM (судя по всему), т.е. сброса контроллера не происходит. Так как его правильно сбросить?

Там скорей всего встроенный ROM-загрузчик непрерывно сканирует все источники загрузки (USB, EEPROM, ...) откуда можно загрузиться и грузит с того, которое первое ответит.
Я помню делал так (когда в EEPROM почему-либо оказывалось нерабочее ПО, которое блокировало загрузку по USB и при этом само не работало): отключал SCL перемычкой (у нас была на плате) от EEPROM, грузил по USB прошивальщик в CY7C68013, возвращал перемычку на место, шил рабочую прошивку в EEPROM через загруженный прошивальщик. Прошивальщик можно написать отдельный (а может он даже есть у Cypress), но у нас он входил в состав рабочего firmware. Собственно я им самим его самого и шил в EEPROM. Посмотрите - может в составе примеров или Cypress Suite есть такой прошивальщик. Я уже плохо помню, так как работал с CY7C68013 несколько лет назад.
dima32rus
Цитата(Serg_Sm @ Aug 18 2016, 10:01) *
Связался с техподдержкой по нерабочему прибору - ответили, есть всё-таки SCL/SDA на внешнем разъёме. Алгоритм действий прислали - отключаете прибор, перемычку SDA к земле, подключаете к компу, перемычку убираете и шьёте нашей утилитой. Попробовал, не работает)) Посмотрел осциллографом - как только перемычка убирается (хоть через 10 секунд, хоть через минуту) сразу идет 500мс загрузка с EEPROM (судя по всему), т.е. сброса контроллера не происходит. Так как его правильно сбросить?

Мы для таких случаев специально делали перемычку на линии SDA, и не к земле, а разрывали саму SDA между EEPROM и контроллером. Сколько раз эта перемычка выручала. Может быть, если просто притянуть к земле, контроллер воспринимает это как неготовность EEPROM и намертво зависает ожидании. Он выставляет на линию 1, а там всегда 0. Как только вы убираете перемычку, он это дело тут же прочухивает и загружает битую прошивку. Попробуйте разорвать саму линию SDA, если это возможно, должно гарантированно сработать.
Serg_Sm
В общем получилось - просто подключился к SCL/SDA другим устройством (тоже на FX2, программатора I2C поблизости не было) и прошил EEPROM из вне))
Serg_Sm
Цитата(dima32rus @ Aug 18 2016, 11:40) *
Мы для таких случаев специально делали перемычку на линии SDA, и не к земле, а разрывали саму SDA между EEPROM и контроллером. Сколько раз эта перемычка выручала. Может быть, если просто притянуть к земле, контроллер воспринимает это как неготовность EEPROM и намертво зависает ожидании. Он выставляет на линию 1, а там всегда 0. Как только вы убираете перемычку, он это дело тут же прочухивает и загружает битую прошивку. Попробуйте разорвать саму линию SDA, если это возможно, должно гарантированно сработать.

SDA разрывать как-то не красиво, достаточно изменить адрес. Т.е. ножку адреса микросхемы EEPROM соединить перемычкой с землей (в боевом режиме подтяжка к 3.3В).
В моем случае физически не было возможности до платы добраться, чтобы что-нибудь разорвать.
Ещё вариант (если есть доступ только к SCL/SDA) и если защита от записи EEPROM управляется контроллером (по умолчанию т.е. прошить не получится) - подсоединить параллельно внутренней EEPROM внешнюю с таким же адресом, но с зашитыми "0". По идее одновременный доступ к шине 2 EEPROM считаются "0", соответственно загрузка по I2C будет отменена.
dima32rus
Цитата(Serg_Sm @ Aug 18 2016, 14:29) *
SDA разрывать как-то не красиво, достаточно изменить адрес. Т.е. ножку адреса микросхемы EEPROM соединить перемычкой с землей (в боевом режиме подтяжка к 3.3В).
В моем случае физически не было возможности до платы добраться, чтобы что-нибудь разорвать.

У нас эта перемычка на SDA закладывалась сразу при проектировании платы. С адресом тоже способ интересный, возможно, что при отсутствии заранее предусмотренного джампера на SDA это было бы лучшим вариантом.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.