|
Хранилище "Key->Value" для EEPROM |
|
|
|
 |
Ответов
|
Jun 10 2015, 05:08
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(ArtDenis @ Jun 9 2015, 15:14)  Предполагается в EEPROM хранить (и при необходимости читать) разные наборы данных, размер и количество которых заранее неизвестно. На мой взгляд для этого подходит идеология хранилища Key->Value, где Key - это например целое число, по которому я идентифицирую сохраняемый набор, а Value - данные этого набора в бинарном виде. Есть ли готовые библиотеки для подобных хранилищ, для которых надо было бы дописать только чтение/запись EEPROM?
PS: размер EEPROM небольшой - всего 12 Кб. Размер сохраняемых наборов - от нескольких байт до килобайта. Так не делают. Это неудобно и негибко. Делают так: В паре Key=Value , Key - это строковый идентификатор, а Value - сериализированные данные, т.е. представленные тоже в виде строки. Если действительно структура данных сложная и неизвестная, то применяют формат JSON, а данные хранятся в древовидных структурах. Но файловую систему к этому не примешивают. Файловая система отдельно, а парсинг файлов отдельно. Для EEPROM очень простая файловая система есть у Keil, она включает и дефрагментацию и равномерный износ в ней учитывается.
|
|
|
|
|
Jun 10 2015, 05:15
|
Частый гость
 
Группа: Участник
Сообщений: 142
Регистрация: 10-11-12
Пользователь №: 74 318

|
Цитата(AlexandrY @ Jun 10 2015, 10:08)  Так не делают. Это неудобно и негибко. Делают так: В паре Key=Value , Key - это строковый идентификатор, а Value - сериализированные данные, т.е. представленные тоже в виде строки. Я не совсем понял, почему хранить данные по ключу, который представляет из себя целое значение это - "неудобно и негибко", и почему их надо хранить по строковому ключу да ещё в строковом виде? Зачем расходовать лишний EEPROM?
--------------------
|
|
|
|
|
Jun 10 2015, 05:37
|
Частый гость
 
Группа: Участник
Сообщений: 142
Регистрация: 10-11-12
Пользователь №: 74 318

|
Цитата(AlexandrY @ Jun 10 2015, 10:31)  Если интересует сжатие, то так прямо и спрашивайте. Какое ещё сжатие? Требования расписаны, пример того, что я хочу - есть. Сжатия среди требований нету. Откуда оно взялось?
--------------------
|
|
|
|
|
Jun 10 2015, 07:17
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(ArtDenis @ Jun 10 2015, 08:37)  Какое ещё сжатие? Требования расписаны, пример того, что я хочу - есть. Сжатия среди требований нету. Откуда оно взялось? Не, требования свои оставьте себе. А я пишу как делают, и что можно найти. Так вот когда нужно работать с настройками применяют три отдельные вещи: парсинг файлов, сжатие файлов и файловую систему. Пытаться уменьшить объем файла за счет применения цифр вместо строк это непрофессиональный стиль и никто так не лаж.... Хотя если найдете такое будет интересно. Скорее всего вам надо к ардуинщикам.
|
|
|
|
Сообщений в этой теме
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     ArtDenis Цитата(AlexandrY @ Jun 10 2015, 12:17) Не... Jun 10 2015, 07:30 psL на самом деле в key-value данные хранятся по хешу ... Jun 10 2015, 05:40 esaulenka Цитата(psL @ Jun 10 2015, 08:40) Придумат... Jun 10 2015, 06:41 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|