jcxz 184 10 марта, 2017 Опубликовано 10 марта, 2017 · Жалоба Да, EEPROM лучше. А FRAM ещё лучше :) Это уже интересней. Ещё интересней если немного подумать и поэкспериментировать. Исходя из исходных данных задачи - во флешь нужно хранить инкрементирующийся счётчик. Я так понял - этот МК имеет ECC-защиту программной флешь с размером страницы == 32 бита? Пустая (стёртая) ячейка вероятно имеет значение == 0xFFFFFFFF. Примем это значение за значение счётчика ==0. Тогда очевидно, что в пустую ячейку можно записать любое значение. Например 0xFFFFFFFE. Примем это значение за значение счётчика ==1. Поверх него можно попробовать записать 0xFFFFFFFC, но, так как есть ECC, то скорей всего получим не 0xFFFFFFFC, а нечто другое. Ну да ладно - то что получим примем за значение счётчика ==2. :rolleyes: Далее - опять попробуем записать в эту же ячейку нечто другое. Если получим значение отличное от предыдущего, то примем это значение за следующее значение счётчика. И так можно модифицировать эту ячейку до тех пор, пока значение ячейки не перестанет меняться. Очевидно, что последовательность этих значений ячейки будет одинакова для всех ячеек флешь (если флешь ещё не изношена!!!). Отсюда следует, что можно определить значение счётчика, записанного в ячейку. А значит - увеличить максимальное кол-во записей во флешь на количество полученных значений счётчика. Таким образом - увеличив ресурс флешь. Экспериментальным путём (или иным путём) можно определить последовательность записываемых значений в одну и ту же ячейку флешь, при которой значения ячейки будут меняться дольше всего (до конечного фиксированного значения). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 10 марта, 2017 Опубликовано 10 марта, 2017 · Жалоба Я так понял - этот МК имеет ECC-защиту программной флешь с размером страницы == 32 бита? Нет, не имеет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 10 марта, 2017 Опубликовано 10 марта, 2017 · Жалоба Вот тут пишут, что можно даже отдельные биты переключать из 1 в 0. В связи с этим перспективы открываются радужные. Правда, для надёжности нужно делать хитрую схему с двумя или более страницами. Опять же, неясно, будет ли страдать ресурс флеша, если программировать по одному биту за раз. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 30 10 марта, 2017 Опубликовано 10 марта, 2017 · Жалоба "Writing 8-bit and 16-bit data is not allowed and may lead to unpredictable data corruption." Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 10 марта, 2017 Опубликовано 10 марта, 2017 · Жалоба Опять же, неясно, будет ли страдать ресурс флеша, если программировать по одному биту за раз. С ресурсом не ясно, "потекут" ли соседние биты - тоже не ясно. Ненужный геморрой все это. "Writing 8-bit and 16-bit data is not allowed and may lead to unpredictable data corruption." Записать вместо 0xFFFFFFFF 0xFFFFFFFE, а затем 0xFFFFFFFC это никоим образом не мешает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 10 марта, 2017 Опубликовано 10 марта, 2017 · Жалоба С ресурсом не ясно, "потекут" ли соседние биты - тоже не ясно. Ненужный геморрой все это. Между тем, вот здесь применяют именно побитовую запись во флешь. Может быть, они что-то знают. Или это просто слабоумие и отвага. Не знаю :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 30 10 марта, 2017 Опубликовано 10 марта, 2017 · Жалоба Между тем, вот здесь применяют именно побитовую запись во флешь. Может быть, они что-то знают. Или это просто слабоумие и отвага. Не знаю :laughing: Проц атмеловский!!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 10 марта, 2017 Опубликовано 10 марта, 2017 · Жалоба Нет, не имеет. Если не имеет, то модифицировать можно побитно, а не по 32 бита. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 30 10 марта, 2017 Опубликовано 10 марта, 2017 · Жалоба С ресурсом не ясно, "потекут" ли соседние биты - тоже не ясно. Ненужный геморрой все это. Записать вместо 0xFFFFFFFF 0xFFFFFFFE, а затем 0xFFFFFFFC это никоим образом не мешает. Типа счётчик Джонсона, но "заполняющий ноль" это вариант Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 10 марта, 2017 Опубликовано 10 марта, 2017 · Жалоба Проц атмеловский!!! Флеш - он и в Африке флеш. Но гарантий никто не даст, очевидно. Я склоняюсь к тому, что это волюнтаризм автора апноты. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 30 10 марта, 2017 Опубликовано 10 марта, 2017 (изменено) · Жалоба Флеш - он и в Африке флеш. Но гарантий никто не даст, очевидно. Я склоняюсь к тому, что это волюнтаризм автора апноты. Ну да, ну да… (; Изменено 10 марта, 2017 пользователем Obam Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Velund 0 27 марта, 2017 Опубликовано 27 марта, 2017 · Жалоба А FRAM ещё лучше :) A Serial EERAM (EEPROM-backed SRAM), который при пропадании питания на кондере пишет SRAM в EEPROM а при появлении питания автоматом восстанавливает с еепрома в SRAM - еще лучше для данного применения. Какой нибудь Microchip 47L04... 1 миллион выключений питания - а там хоть миллисекунды наработки считай. ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 27 марта, 2017 Опубликовано 27 марта, 2017 · Жалоба A Serial EERAM (EEPROM-backed SRAM), который при пропадании питания на кондере пишет SRAM в EEPROM а при появлении питания автоматом восстанавливает с еепрома в SRAM - еще лучше для данного применения. Чем лучше-то??? Тем что кондёр хороший ставить ещё нужно?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Velund 0 29 марта, 2017 Опубликовано 29 марта, 2017 · Жалоба Чем лучше-то??? Тем что кондёр хороший ставить ещё нужно?? Если некоторое количество параметров постоянно изменяющихся надо "держать" постоянно, и особенно если батарея в устройстве недопустима, то такие чипы - самое беспроблемное решение. Есть програмные хитрости чтобы избежать проблем в случае если выключение прервет процесс обновления, но в общем меньше всего возможных засад просматривается в долговременном плане. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alechek 0 29 марта, 2017 Опубликовано 29 марта, 2017 · Жалоба Если некоторое количество параметров постоянно изменяющихся надо "держать" постоянно, и особенно если батарея в устройстве недопустима, то такие чипы - самое беспроблемное решение. Или просто для ленивых. Потому как 8мс@3мA для CY14*101Q немногим менее чем 6(3)мс@5.5мА для SAM7S256 (1 страница) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться