Вопрос все по той же 24LC04,прочитал с нее дамп,отредактировал,записал контрольную сумму редактированного дампа,прошиваю,по окончании программирования высвечивается верная контрольная,считываю прошиву и контрольную сумму отличается от той что заливал,пробовал несколько раз все одно. Потом попробовал прошить старым(родным) дампом,контрольная сумма,до и после программирования остаётся верной,как это понимать? Заниматься программированием я начал недавно,поэтому прошу совета. Возможно ли то,что родной дамп например неиспользует какие то ячейки памяти,а измененный использует,но они битые и программатор просто не может их записать,от этого и меняется к.сумма?
У меня есть две веских причины быть уверенным в том что это не косяк программатора,во первых другие МС он шьет правильно,во вторых я пробовал прошить её другим программатором и получил всё тот же результат. Есть у кого нибудь еще мысли?
Попробуйте может быть так:войти в режим ЧТЕНИЕ МС и посмотреть конт сумму дампа.затем залить этот дамп в микру и посмотреть конт сумму не после режима ЗАПИСЬ МС. а войти в режим ЧТЕНИЕ МС и уже в этом режиме посмотреть кон сумму дампа. Можно еще по другому: скинуть дамп на комп в программу по-5pc и посмотреть там кон сумму затем этот дамп залить в микру и опять скинуть на комп уже залитый дамп и сравнить кон суммы (эти суммы считывает уже не прогер а программа на компе)
Я точно так и пробовал делать(описывал выше) как Вы предлагаете,с использованием программы по-5pc,в том то и дело что программируешь дампом с одной контрольной суммой,а после того как запрограммируешь и считываешь заново,то к.сумма уже другая,но если заливаешь родной дамп(неизменённый калькулятором) то контрольная сумма до и после программирования верная,вот поэтому и спрашиваю совета.
Ну а если этот дамп (у которого КС разные до записи и после записи) считать и залить еще раз на эту же микру ( будет уже новая третья КС? или же она совпадает всегда с КС которая получается после записи?)
Попробуйте очистить полностью микру (все стереть) а потом уже залить дамп на чистую и посмотреть что получится с КС .Можно записать везде FF и опять залить дамп (бывает микрухи некоторые капризничают).Если КС разные до записи и после. значит в каких-то ячейках дампов есть различия (можно кинуть их в программу сравнения дампов и посмотреть визуально в чем разница)
Я пробовал,так как Вы предлагаете и раньше,но результат один и тот же. Различия есть конечно же,я сравнивал и эти различия как раз там где не надо =) Сдаётся мне что скончалась она при исполнении служебных обязанностей. Причём дамп с нее изначально считался правильно,я сравнивал с аналогичным дампом из другого блока. Надо пробовать новую МС писать. Спасибо за отклик! Еще хотел узнать в каких случаях используют swap,что он делает с дампом я понял,а вот в как понять нужен ли он и когда? Объясните доходчиво,пожалуйста.
я думаю либо ноги неправильно подсоеденены либо есть лапа на микре разрешения программирования если нога незапитана читаться микра будет а писаться нет вот и меняться кс не будет
выводы,1,2,3 адресные,при программировании я подключил их к общему выводу GND,но в даташите на 24LC04 производитель Microchip вообще утверждает что выводы 1,2,3 данной МС не задействованы. TO rakul7 чего там под подключать то 4 проводины,тем более, повторяюсь,первично дамп считан программатором правильно! Да,вывод защиты от записи WP на ней имеется и подключен он как и положено всё к тому же общему выводу. И КС у меня меняется!!! ,но становиться неверной.
Вот и я пришёл к точно такому же выводу,этим и объясняется такое поведение микры,что родной дамп пишется и читается хорошо,а вот изменённый уже нет. А про swap объяснит кто нибудь?
Некоторые прогеры при считывании дампа меняют байты местами.Но при записи они снова меняют байты и все становится как было.Если например одним прогером считать дамп(пробег 40000км).а другим залить этот дамп и пробег будет 950000км.то здесь надо перед заливкой делать свап.Теоритически врядли кто высчитывает(надо сравнивать анализировать знать какие ячеки за что отвечают и т.д.)Проще залить и посмотреть.Другой пример:запоминаем пробег авто.сдуваем микру.считываем дамп .Забиваем пробег (который запомнили) например в тахосфт и сравниваем строки пробега дампа и то что выдал тахософт.Если все совпадает .то свап не делаем.Ну а если байты поменяны местами.то при записи ячеек нового пробега заливаем байты поменяв их местами(то есть делаем свап тому что выдал тахософт при запросе нового пробега).Даже если ошиблись и свап не сделали то просто пробег будет сильно не совпадать с требуемым .(свап делаем в этом случае только в адресах пробега) а НЕ ВО ВСЕМ ДАМПЕ