|
Хранилище "Key->Value" для EEPROM |
|
|
|
 |
Ответов
|
Jun 10 2015, 05:40
|
Знающий
   
Группа: Свой
Сообщений: 526
Регистрация: 5-08-05
Пользователь №: 7 390

|
на самом деле в key-value данные хранятся по хешу key, т.е. по целому, а не по строке, а ТС предлагает вместо хеш-функции использовать перечисление. Вообще непонятно зачем это в таком виде нужно, поскольку key-value используется для скоростной выборки данных, а тут всего 12кБ - т.е. можно просто последовательно перечитать весь носитель за миллисекунды. Хранить данные можно друг за другом, например в виде index, type, data, crc. Придумать случай, когда программа не знает размера структуры данных в eeprom затрудняюсь. А так - есть всякие bson, protobuf и т.п., но это в данном случае наверное тяжело будет.
|
|
|
|
|
Jun 10 2015, 06:41
|

Профессионал
    
Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877

|
Цитата(psL @ Jun 10 2015, 08:40)  Придумать случай, когда программа не знает размера структуры данных в eeprom затрудняюсь. Например, когда версий у программы больше одной, а настройки при апгрейде хочется сохранять. Поддерживать, скажем, три разных структуры настроек - геморрой с неожиданными багами. PS делали подобный велосипед (структура - прям по букварю); но там была флеш. При изменении настроек всё вычитывалось, перестраивалось и записывалось обратно; с фрагментацией бороться было не надо.
--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
|
|
|
|
Сообщений в этой теме
ArtDenis Хранилище "Key->Value" для EEPROM Jun 9 2015, 12:14 RabidRabbit Самое простое - использовать в качестве ключа смещ... Jun 9 2015, 18:26 alexeyv ЦитатаСамое простое - использовать в качестве ключ... Jun 10 2015, 03:05 _Pasha ТС, Вы ничего не сказали об интенсивности стираний... Jun 10 2015, 03:42 ArtDenis Цитата(RabidRabbit @ Jun 9 2015, 23:26) С... Jun 10 2015, 04:41 AlexandrY Цитата(ArtDenis @ Jun 9 2015, 15:14) Пред... Jun 10 2015, 05:08 ArtDenis Цитата(AlexandrY @ Jun 10 2015, 10:08) Та... Jun 10 2015, 05:15  AlexandrY Цитата(ArtDenis @ Jun 10 2015, 08:15) Я н... Jun 10 2015, 05:31   ArtDenis Цитата(AlexandrY @ Jun 10 2015, 10:31) Ес... Jun 10 2015, 05:37    AlexandrY Цитата(ArtDenis @ Jun 10 2015, 08:37) Как... Jun 10 2015, 07:17     ArtDenis Цитата(AlexandrY @ Jun 10 2015, 12:17) Не... Jun 10 2015, 07:30 RabidRabbit Так и почитайте о файловых системах, решение к Вам... Jun 10 2015, 05:42 ArtDenis Цитата(psL @ Jun 10 2015, 10:40) на самом... Jun 10 2015, 05:55 Эдди Чтобы пореже стирать EEPROM, мне как-то предлагали... Jun 10 2015, 08:41 ArtDenis Эдди, спасибо за идею! Хотя у меня есть подозр... Jun 10 2015, 09:47 Эдди Цитата(ArtDenis @ Jun 10 2015, 12:47) Эдд... Jun 11 2015, 04:31  ArtDenis Цитата(Эдди @ Jun 11 2015, 09:31) Пишете ... Jun 11 2015, 04:37 mcheb Цитата(ArtDenis @ Jun 9 2015, 15:14) Пред... Jun 10 2015, 09:55 ar__systems А че так сложно-то все? Данных всего - каких-то жа... Jun 10 2015, 10:17  AHTOXA Цитата(ar__systems @ Jun 10 2015, 15:17) ... Jun 11 2015, 03:44 Сергей Борщ Гляньте minIni. Это не совсем то, что вам нужно - ... Jun 10 2015, 10:22 ViKo В начале EEPROM создать таблицу, в которой хранить... Jun 11 2015, 04:09 _Pasha Цитата(ViKo @ Jun 11 2015, 07:09) ЗЫ. Таб... Jun 13 2015, 01:41 jcxz Цитата(ViKo @ Jun 11 2015, 10:09) В начал... Jun 13 2015, 05:02  Jenya7 Цитата(jcxz @ Jun 13 2015, 11:02) Таблица... Jun 14 2015, 05:39   jcxz Цитата(Jenya7 @ Jun 14 2015, 11:39) а адр... Jun 14 2015, 08:29 zltigo QUOTE (ArtDenis @ Jun 9 2015, 15:14) Пред... Jun 14 2015, 06:22
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|