Дизайн встроенного модуля хранения данных C

Я занимаюсь разработкой встроенного модуля хранения данных C. Он будет включаться файлами / модулями, которым нужен доступ к этим «общим» общесистемным данным. Несколько задач объединяют десятки входных данных (данные GPIO, CAN, I2C / SPI / SSP и т. Д.) И сохраняют эти значения с помощью API. Затем другие задачи могут безопасно получить доступ к данным через API. Система представляет собой встроенное приложение с ОСРВ, поэтому для защиты данных используются мьютексы. Эти идеи будут использоваться независимо от реализации

, которую я разработал в прошлом, и я пытаюсь улучшить ее. В настоящее время я нахожусь на полпути к новой реализации, и у меня несколько сбоев, и я действительно выиграю от свежего взгляда.

Краткое изложение требований этого модуля: поэтому мьютексы используются для защиты данных. Эти идеи будут использоваться независимо от реализации

, которую я разработал что-то подобное в прошлом, и я пытаюсь улучшить это. В настоящее время я нахожусь на полпути к новой реализации, и у меня несколько сбоев, и я бы действительно выиграл от свежего взгляда.

Краткое изложение требований этого модуля: поэтому мьютексы используются для защиты данных. Эти идеи будут использоваться независимо от реализации

, которую я разработал в прошлом, и я пытаюсь улучшить ее. В настоящее время я нахожусь на полпути к новой реализации, и у меня несколько сбоев, и я бы действительно выиграл от свежего взгляда.

Краткое изложение требований этого модуля:

  • В идеале должен быть один интерфейс, который может обращаться к переменным (одно получение, один набор).
  • Я хотел бы возвращать различные типы переменных (числа с плавающей запятой, целые числа и т. Д.). Это означает, что, вероятно, необходимы макросы.
  • Мне не нужно места для кода, но это всегда вызывает беспокойство
  • Быстрое получение / установка имеет первостепенное значение (это означает, что хранение в строках отсутствует, а xml / json отсутствует)
  • Во время выполнения не нужно добавлять новые переменные. Все статически определяется при загрузке
  • . Вопрос в том, как бы вы разработали что-то подобное? Перечисления, структуры, методы доступа, макросы и т. Д.? Я не ищу здесь код, просто обсуждаю общие идеи дизайна. Если в Интернете есть решение, которое решает подобные проблемы, возможно, даже просто ссылки будет достаточно.

    8
    задан Jeff Lamb 26 January 2011 в 01:22
    поделиться