Сброс нулевой ячейки EEPROM

Тема в разделе "Микроконтроллеры AVR", создана пользователем ostrov, 10 янв 2017.

  1. ostrov

    ostrov Гуру

    Не пойму почему так получается, но намучился прежде чем понял что происходит. При некоторых манипуляциях с питанием ячейка памяти 0 самостоятельно сбрасывается в 01. В частности при извлечении блока питания, даже отключенного. Это нормально? Перетащил важные данные на другие ячейки, такого больше на наблюдаю. МК Атмега8, на трех штуках одинаково.
     
    Последнее редактирование: 10 янв 2017
  2. AlexU

    AlexU Гик

    Не знаю в тему или нет, но похожая проблема возникает с самодельным программатором на AT90USB160. Вот только "слетает" прошивка, а не EEPROM. При чём бутлоадер (DFU) остаётся работоспособным, а слетает только прошивка с 0-го адреса. Программатор простейший, без защиты выходов. Последний раз слетела после того, как подключил ATtiny45 "вверх ногами" -- получилось питание тиньки на землю программатора и, наоборот, землю тиньки на питание программатора. Когда увидел свою ошибку подумал, что сжег и тиньку и программатор. А нет, после перепрошивки программатора (dfu-programmer'ом через USB), всё восстановилось и та тинька по сей день верно служит.
    Могу предположить, что первые ячейки flash и eeprom как-то болезненно реагируют на проблемы с питанием.
     
  3. Unixon

    Unixon Оракул

    А в Errata на МК по этому случаю ничего нет?
     
  4. ostrov

    ostrov Гуру

    Не слыхивали про такое. )
     
  5. Unixon

    Unixon Оракул

    Это если не первое, то второе, после шапки даташита с основными характеристиками, что следует читать. Там может быть написано такое количество исключений, что оно вообще чудом работает.
     
  6. ostrov

    ostrov Гуру

    В даташите про эти глюки не читал, но в форумах ругатни про EEPROM нашел немало. Нулевую ячейку использовать не рекомендуют почти все. Но мне ее повезло, у некоторых EEPROM сбрасывается вообще полностью без видимых причин.