Столкнулись с проблемой в микросхеме выпуска 1536, которой не было в выпущенных ранее 1412.
При страничной записи EEPROM если буфер заполнен не полностью, то записывается только последний байт. Запись в EEPROM по одному байту или полной страницы при этом осуществляется корректно.
Sanek, запись в EEPROM по адресу ((unsigned char volatile xdata *)0x0020)[31] не означает запись в последнюю ячейку буфера. Таким образом буфер лишь будет дополнен девятым байтом. Проверить сейчас уже не могу. Впрочем, я и не спрашиваю как обойти проблему. Очевидны два выхода: 1) только одиночные записи; 2) операции чтение-модификация-запись 32-байтными фрагментами. В первом случае увеличивается время записи, во втором расходуется лишние 32 байта RAM. Я выбрал первый вариант.
Я понял вашу мысль. Но, записываемый байт попадёт в последнюю ячейку только если буфер перед этим был заполнен 31 байтом, поскольку ячейка буфера определяется счётчиком, а не адресом.
Хочется получить сухой остаток по теме ошибок записи EEPROM viewtopic.php?f=7&p=2621#p2613.
Будет ли корректно выполняться запись 6-ти блоков по 32 разряда по приведённому коду (блоки считываются из внешней XRAM):
Спасибо, успокоили! Мы проверяли запись в EEPROM в конце 15-го года на микросхемах партии 1533, но весьма поверхностно. Можно эту "особенность" в ТО отразить?
Прошу специалистов НИИЭТ как-то прокомментировать вышеописанную мною особенность работы EEPROM.
Также интересует чем закончилась вот эта история:
_sva_ писал(а):
AVBerg писал(а):Микроконтроллер используется в серийных изделиях еще со времен 52-го.
В этом году (с 2015) появилась проблема: при срабатывании вблизи коммутационного оборудования самопроизвольно меняется значение битов FUSE.Это приводит к несанкционированному включению опции удвоения и (что особенно расстраивает) снятию бита разрешения программирования по последовательному интерфейсу.
Если удвоение как то лечится- CLKREG=0, то потеря возможности программирования приводит к необходимости замены микросхемы.
bzzt писал(а):Прошу специалистов НИИЭТ как-то прокомментировать вышеописанную мною особенность работы EEPROM.
Также интересует чем закончилась вот эта история:
_sva_ писал(а):
AVBerg писал(а):Микроконтроллер используется в серийных изделиях еще со времен 52-го.
В этом году (с 2015) появилась проблема: при срабатывании вблизи коммутационного оборудования самопроизвольно меняется значение битов FUSE.Это приводит к несанкционированному включению опции удвоения и (что особенно расстраивает) снятию бита разрешения программирования по последовательному интерфейсу.
Если удвоение как то лечится- CLKREG=0, то потеря возможности программирования приводит к необходимости замены микросхемы.