Vlad_G 8 24 декабря, 2021 Опубликовано 24 декабря, 2021 · Жалоба Всем доброго. Имеем EEPROM, в данном случае 24AA01 (или 24LC01), микрочиповскую. С завода в ней записаны все единицы, других, правда, не встречал. Читая даташит не увидел, чтобы это как-то оговаривалось. С другой стороны, скорей всего, кристаллы при производстве тестируются и теоретически в них могут быть записаны любые значения. Кто в курсе, значения, которыми записана EEPROM с завода как-то оговариваются? И кто ни будь видел в EEPROM с завода значения отличные от единиц? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rx3apf 0 24 декабря, 2021 Опубликовано 24 декабря, 2021 · Жалоба Были какие-то I2C (только не помню, Microchip ли это был, или все ж кто-то еще), начальное содержимое - чередовались $55 и $AA. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 227 24 декабря, 2021 Опубликовано 24 декабря, 2021 · Жалоба 42 минуты назад, Vlad_G сказал: значения, которыми записана EEPROM с завода как-то оговариваются? Вряд ли, потому что в этом нет смысла, разве что лотерею устроить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MegaVolt 29 24 декабря, 2021 Опубликовано 24 декабря, 2021 · Жалоба 1 час назад, Vlad_G сказал: Кто в курсе, значения, которыми записана EEPROM с завода как-то оговариваются? И кто ни будь видел в EEPROM с завода значения отличные от единиц? Если нет явного обещания можно ожидать чего угодно. И именно по этому начальная инициализация необходима если это критически важно. Само собой если не критически важно то можно и забить. Вероятность что там будут какие то значения кроме состояния стёрто (FF) не велика. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 24 декабря, 2021 Опубликовано 24 декабря, 2021 · Жалоба 2 часа назад, Vlad_G сказал: Имеем EEPROM, в данном случае 24AA01 (или 24LC01), микрочиповскую. С завода в ней записаны все единицы, других, правда, не встречал Ну, например 24AA01E48, 24AA01E64 содержат с завода в первых 6 (8) байтах значение уникального EUI48 (EUI64) и первая половина памяти навсегда вообще заблокирована от записи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 227 24 декабря, 2021 Опубликовано 24 декабря, 2021 · Жалоба 12 минут назад, Сергей Борщ сказал: например 24AA01E48, 24AA01E64 24AA02E48(64) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vlad_G 8 24 декабря, 2021 Опубликовано 24 декабря, 2021 · Жалоба Понял. Да, речь и идёт о начальной инициализации - как? Один вариант внешним программатором, другой вариант - при первом включении инициализировать из мк. Производство хочет второй, я за первый. Сложность ещё в том, что устройство будет залито компаундом, потом не подберёшься. Второй вариант работает, лишних движений кабелями не нужно делать, но было смутное ощущение... учитывая сложности с поставками и в каком Китае купят. Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 243 24 декабря, 2021 Опубликовано 24 декабря, 2021 · Жалоба 3 минуты назад, Vlad_G сказал: Да, речь и идёт о начальной инициализации - как? Один вариант внешним программатором, другой вариант - при первом включении инициализировать из мк. Производство хочет второй, я за первый. Производство право. Только не "при первом включении", а "если при старте ПО проверка EEPROM показала недопустимый формат содержимого" (частный случай этого - 1-е включение). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vlad_G 8 24 декабря, 2021 Опубликовано 24 декабря, 2021 · Жалоба А вот с этим проблема. В память записывает внешняя система управления и мк читает уже изменённую eeprom. Либо выделить некий блок под себя и его смотреть при старте. Надо подумать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MegaVolt 29 24 декабря, 2021 Опубликовано 24 декабря, 2021 · Жалоба 1 минуту назад, Vlad_G сказал: А вот с этим проблема. В память записывает внешняя система управления и мк читает уже изменённую eeprom. Либо выделить некий блок под себя и его смотреть при старте. Надо подумать 1. Если если есть запись в память некого образа то образ должен просто занимать весь объём что и обеспечит начальную правильную инициализацию. 2. Некий технологический режим. И некая технологическая комманда начальной инициализации. Которая подаётся по желанию мастера но никак не по первому включению. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 243 24 декабря, 2021 Опубликовано 24 декабря, 2021 · Жалоба 55 минут назад, MegaVolt сказал: 2. Некий технологический режим. И некая технологическая комманда начальной инициализации. Которая подаётся по желанию мастера но никак не по первому включению. Когда столкнётесь с серийным (а ещё хуже - массовым) производством, узнаете что как не прописывай инструкции по некой "начальной инициализации", как не карай за нарушения, один фиг - будут периодически появляться устройства, в которых это сделать почему-то забыли. От ошибок никто не застрахован. А значит - всё равно встроенное ПО при старте должно проверить содержимое EEPROM и как то прореагировать на недопустимое содержимое. Т.е. опять возвращаемся к тому же - проверка на старте всё равно нужна. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MegaVolt 29 24 декабря, 2021 Опубликовано 24 декабря, 2021 · Жалоба 2 минуты назад, jcxz сказал: Когда столкнётесь с серийным (а ещё хуже - массовым) производством, узнаете что как не прописывай инструкции по некой "начальной инициализации", как не карай за нарушения, один фиг - будут периодически появляться устройства, в которых это сделать почему-то забыли. От ошибок никто не застрахован. А значит - всё равно встроенное ПО при старте должно проверить содержимое EEPROM и как то прореагировать на недопустимое содержимое. Т.е. опять возвращаемся к тому же - проверка на старте всё равно нужна. Начальная инициализацией я называл ту операцию где в устройство попадает прошивка и начальная настройка если она есть. Т.е. это просто ещё один пункт в неком автоматизированном процессе начального оживляжа. А так да полностью согласен ПО должно само контролировать целостность каких то данных и вполне адекватно реагировать на их потерю. То ли сообщая пользователю о потере данных то ли забивая эти данные некими цифрами по умолчанию. Т.е. это вообще часть штатной работы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 24 декабря, 2021 Опубликовано 24 декабря, 2021 · Жалоба 4 часа назад, Plain сказал: 24AA02E48(64) Виноват, поленился заглянуть в документацию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 54 25 декабря, 2021 Опубликовано 25 декабря, 2021 · Жалоба 24.12.2021 в 15:26, MegaVolt сказал: Т.е. это вообще часть штатной работы. Зачем грузить еще и пользователя этими заботами? При старте ищете уникальный ИД вашей системы, если он присутствует, программа идет далее, если FFки или мусор - делаете "форматирование", т.е. загрузку значениями по умолчанию и в путь... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться