Что такое хранилище данных с открытым исходным кодом для «голого железа» Cortex M3 без ОС

Я ищу предложения для хранилища данных, написанного на C, которое будет компилироваться для ARM Cortex M3 без какой-либо операционной системы.

Я хочу, чтобы это было:

  • написано на С
  • желательно бесплатно и/или с открытым исходным кодом
  • может быть скомпилирован с помощью GCC
  • работает на чистом металлическом процессоре без поддержки операционной системы или файловой системы

Это может быть SQL или нет. Я хотел бы что-то вроде MongoDB, совместимого с JSON (т.е. может сериализоваться через JSON в простых буферах символов C).

Потребности хранилища данных будут заключаться в управлении данными в ОЗУ из фиксированного распределения памяти. Нет «динамического» распределения (т.е. нет malloc).


person Josh Petitt    schedule 22.07.2012    source источник
comment
В настоящее время я просматриваю sqlite3, чтобы убедиться, что он соответствует моим требованиям выше.   -  person Josh Petitt    schedule 23.07.2012
comment
Я также рассматриваю Berkeley DB. Тем не менее, ссылки на компиляцию этого или sqlite3 для «голого железа» ARM Cortex M3 были бы полезны.   -  person Josh Petitt    schedule 23.07.2012
comment
sqlite и bdb требуют служб ОС, таких как файл распределения памяти, ввод-вывод и многие другие вещи, вам будет очень трудно портировать их (или любое другое хранилище данных с открытым исходным кодом) для работы на голом железе.   -  person nos    schedule 23.07.2012
comment
@nos, это то, что я нахожу. Я бы хотел простое хранилище ключей и значений, которое управляет фрагментами памяти. Было бы неплохо, если бы я мог сериализовать всю базу данных (или фрагменты), чтобы я мог перемещать ее в энергонезависимое хранилище и из него, но я бы хотел, чтобы он работал из оперативной памяти. Я понимаю, что есть более простые способы сделать это, но я хотел бы иметь общий способ хранения записей для определенных данных, которыми будет управлять конечный пользователь.   -  person Josh Petitt    schedule 23.07.2012
comment
@nos, может быть, вместо этого я ищу простой хэш в оперативной памяти? (очень похоже на JSON) Любые предложения по этому поводу также приветствуются. Я уже много раз начинал этот поиск и всегда заходил в тупик.   -  person Josh Petitt    schedule 23.07.2012
comment
Я также смотрю на yajl для этого.   -  person Josh Petitt    schedule 23.07.2012
comment
Эй, просто интересно, ты когда-нибудь придумал что-нибудь для этого?   -  person zhyfer    schedule 20.08.2013
comment
@zhyfer, нет, я не нашел хорошего решения для своих нужд. Я начал писать один здесь: github.com/jpmec/tbd Однако это все еще игрушка, а не очень эффективный.   -  person Josh Petitt    schedule 20.08.2013
comment
@zhyfer, самым большим препятствием было отсутствие поддержки файловой системы и использование malloc.   -  person Josh Petitt    schedule 20.08.2013


Ответы (1)


SQLite3 — очень хороший претендент, но если вы просто ищете небольшое и простое хранилище ключей/значений, вам также следует поискать gdbm.

person Some programmer dude    schedule 23.07.2012
comment
Мне удалось загрузить и настроить на Mac, хотя кросс-компиляция gdbm для ARM выглядит довольно сложной. Я дал +1 за предложение. Я подожду других ответов, прежде чем выбрать один. - person Josh Petitt; 24.07.2012