|
|
  |
Нужна ли FS ?, AT45DB |
|
|
|
Oct 6 2008, 20:40
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(Огурцов @ Oct 6 2008, 20:30)  Можно ли в AT45DB дописывать (не стирая предыдущие данные) данные в сектор, в который уже была сделана запись ? Осторожно с этим надо. У AT45DBxxx B написано недвусмысленно: Цитата Buffer to Main Memory Page Program without Built-in Erase A previously erased page within main memory can be programmed with the contents of either buffer 1 or buffer 2. ..... Successive page programming operations without doing a page erase are not recommended. In other words, changing bytes within a page from a ”1” to a ”0” during multiple page programming operations without erasing that page is not recommended. У AT45DBxxx D несколько невнятно: Цитата It is necessary that the page in main memory that is being programmed has been previously erased using one of the erase commands (Page Erase or Block Erase). Может можно дописывать (имели ввиду всего лишь то, что без стирания не "запишутся" единички), может нет. Цитата(Огурцов @ Oct 6 2008, 20:30)  Теоретически, есть еще 56 байт в NV-RAM, которые пока не используются. Хотя на сектор (512 байт) их не достаточно. Накапливать в них фрагмент и потом его весь сбрасывать. Например, читая во внутренний буфер AT45DB какую-то страницу, дописывая в нужное место фрагмент из RTC, записывая этот буфер в массив со стиранием. И гарантированно "честно", и меньше стираний, меньше самих операций записи.
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Oct 8 2008, 07:11
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(ReAl @ Oct 7 2008, 00:40)  Может можно дописывать (имели ввиду всего лишь то, что без стирания не "запишутся" единички), может нет. Не удивлюсь, если фраза придумана юридическим отделом фирмы  Цитата(Огурцов @ Oct 8 2008, 01:59)  Так может вместо ноликов единички и записывать ? Т.е. стерли как положено, записали первый раз 0x12 0xFF 0xFF..., а второй раз записываем уже 0xFF 0x34 0xFF..., тогда единички деградировать не будут, а нолики, где были, в единички уж точно не превратятся при записи хоть что туда записывай. Деградировать все равно будут, хотя возможно и меньше. А просто складывать во внутренний буфер до заполнения оного, а затем переносить во флеш? Или боитесь потери данных?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|