реклама на сайте
подробности

 
 
> Хранилище "Key->Value" для EEPROM
ArtDenis
сообщение Jun 9 2015, 12:14
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 142
Регистрация: 10-11-12
Пользователь №: 74 318



Предполагается в EEPROM хранить (и при необходимости читать) разные наборы данных, размер и количество которых заранее неизвестно. На мой взгляд для этого подходит идеология хранилища Key->Value, где Key - это например целое число, по которому я идентифицирую сохраняемый набор, а Value - данные этого набора в бинарном виде. Есть ли готовые библиотеки для подобных хранилищ, для которых надо было бы дописать только чтение/запись EEPROM?

PS: размер EEPROM небольшой - всего 12 Кб. Размер сохраняемых наборов - от нескольких байт до килобайта.

Сообщение отредактировал ArtDenis - Jun 9 2015, 12:15


--------------------
http://ufa-darts.ru/ - собираем дартс-лигу в Уфе
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ArtDenis
сообщение Jun 10 2015, 09:47
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 142
Регистрация: 10-11-12
Пользователь №: 74 318



Эдди, спасибо за идею! Хотя у меня есть подозрение, что она подходит только для записи структуры фиксированного размера.

PS: как это у STM32 нету EEPROM? Ещё как есть. Надо только правильную серию выбрать wink.gif

Сообщение отредактировал ArtDenis - Jun 10 2015, 09:48


--------------------
http://ufa-darts.ru/ - собираем дартс-лигу в Уфе
Go to the top of the page
 
+Quote Post
Эдди
сообщение Jun 11 2015, 04:31
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



Цитата(ArtDenis @ Jun 10 2015, 12:47) *
Эдди, спасибо за идею! Хотя у меня есть подозрение, что она подходит только для записи структуры фиксированного размера.

Пишете же вы! Как можно не знать, какой размер у данных будет?
Если же действительно имя и содержимое выдумывает пользователь, то нечего морочить себе и людям голову! Подключайте флешку и пишите на ней либо полноценную ФС, либо БД вроде кастрированной sqlite.

С другой стороны, здесь уже упоминали формат JSON — почему бы не использовать его для сериализации хранимых данных? Один только косяк — удалять ненужные данные будет крайне сложно и долго. Однако, и здесь можно выход найти: в отдельном блоке флеш или eeprom сохранять имена структур, нонче уже потерявших актуальность. Ну, а как писать уже некуда будет, все подчищать.

Цитата
PS: как это у STM32 нету EEPROM? Ещё как есть. Надо только правильную серию выбрать wink.gif

EEPROM есть только в дорогущих lite-сериях. В дешевой попсе его нет, к сожалению.
Go to the top of the page
 
+Quote Post
ArtDenis
сообщение Jun 11 2015, 04:37
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 142
Регистрация: 10-11-12
Пользователь №: 74 318



Цитата(Эдди @ Jun 11 2015, 09:31) *
Пишете же вы! Как можно не знать, какой размер у данных будет?

Я имею ввиду, что ваш способ подходит для записей большого количества структур одинакового размера. Или я ошибаюсь?


Цитата(ar__systems @ Jun 10 2015, 15:17) *
фрагментация не проблема - при каждом стирании все подгребаете к началу.

Не совсем понятно что имеется ввиду под "все подгребаете к началу"


--------------------
http://ufa-darts.ru/ - собираем дартс-лигу в Уфе
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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
- - 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
- - 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


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 18:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.01401 секунд с 7
ELECTRONIX ©2004-2016