ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
740202 Топик полностью
Apтём (28.02.2017 21:29, просмотров: 246) ответил Ксения на Ну, а если надо записать в EEPROM какой-то стринг (текстовую строку), то вы так и будете ее побайтно пробивать, стирая и записывая страницу целиком после каждого байта? Или все-таки существует более экономный способ для случая, когда байты идут
В пробивании по-байтно ничего плохого нет (если Atmel нам не врёт). Вот что они пишут на этот счёт:
2.3 The Temporary Page Buffer The EEPROM memory is organized in pages, and both erase and write operations operate on pages. The page size depends on memory size and is given in the device datasheet. Erase and write operations use a temporary page buffer, both to keep track of which bytes in a page should be accessed and, for write operations the data itself. ........... For a page erase operation, only the bytes that are tagged in the buffer will be erased in EEPROM. Unless you plan to perform a write afterwards, the actual values in the buffer do not matter.
То есть используя временный буфер можно повысить скорость записи, а неиспользование буфера ресурс EEPROM не уменьшает.
Или все-таки существует более экономный способ для случая, когда байты идут по-порядку?
Получается что используя постраничную запись можно повысить скорость записи "длинных" данных до в EEPROM_PAGESIZE раз (для atxmega256 EEPROM_PAGESIZE=32). Но мне так заморачиваться как-то руки всё не добирались.