Вадимка
Aug 23 2012, 07:20
Доброго дня!
Вот в чем большая проблема.
Необходимо всего лишь пару байт информации хранить в энергонезависимой памяти на МК Renesas H8SX/1668.
Не понимаю, как это вообще делается. Не сказано ничего в DataSheet'ах. Ни про EEPROM, ни про что другое.
Причем, эти данные должны быть записаны Юзером уже во время работы программы. То есть, не константы.
Как это можно сделать? спасибо!
Для хранения настроек можно использовать встроенную флэш-память.
Особенности следующие:
- Есть минимальный размер записи. На разных МК по-разному: 1 байт, 2 байт, 4 байта, 16 байт.
- Перед тем, как записать данные в ячейку повторно, необходимо стереть весь сектор, содержащий ячейку. Размер сектора тоже бывает разный: от 512 байт (или даже меньше) до 128 кБайт.
- Запись ячейки происходит быстро: порядка 10 мкс. Стирание может быть медленным: в зависимости от МК от 20 мс до нескольких секунд.
- Ограничено число стираний каждого сектора. Опять же бывает по-разному: от 100 до 100000 циклов.
Самое простое: стереть сектор и записать настройки. Недостатки: если пропало питание, то настройки слетели, стирание может быть медленным, число циклов ограничено. Если перечисленные недостатки имеют значение, то можно делать более полноценную эмуляцию EEPROM, в которой эти недостатки устраняются, но это сложнее.
Artemrxtx
Jan 16 2013, 19:54
В даташитах про еепром не сказано так как в микроконтроллерах Renesas еепрома просто нет, из за чего возникают дополнительные сложности. Вот такая неприятность.
Neodim
Jan 16 2013, 22:49
Цитата(Artemrxtx @ Jan 16 2013, 21:54)

В даташитах про еепром не сказано так как в микроконтроллерах Renesas еепрома просто нет, из за чего возникают дополнительные сложности. Вот такая неприятность.
Это в 1668 нет еепром, а в H8SX/1725(1727) имеется 16(32)Кб.