1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-nanopb

Клонировать/Скачать
README.md 6.8 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 08.06.2025 07:06 b8e177d

Nanopb — Protocol Buffers для встраиваемых систем

Последние изменения Недельная сборка

Nanopb — небольшая реализация Protocol Buffers на языке C, которая поддерживает стандарт ANSI. Она особенно подходит для использования в микроконтроллерах, но также подходит для любых систем с ограниченным объемом памяти.

Использование библиотеки nanopb

Чтобы использовать библиотеку nanopb, вам нужно выполнить два действия:

  1. Скомпилировать ваши файлы .proto для nanopb с помощью protoc.
  2. Включить файлы pb_encode.c, pb_decode.c и pb_common.c в ваш проект.

Самый простой способ начать работу — изучить проект в "examples/simple". Он содержит файл Makefile, который должен работать напрямую под большинством систем Linux. Однако, для любой другой системы сборки, увидьте ручные шаги в README.txt в этой папке.Генерация заголовочных файлов

Сообщения Protocol Buffers определяются в файле .proto, который следует стандартному формату, совместимому со всеми библиотеками Protocol Buffers. Чтобы использовать его с nanopb, вам нужно сгенерировать файлы .pb.c и .pb.h из него: python generator/nanopb_generator.py myprotocol.proto # Для исходного checkout generator-bin/nanopb_generator myprotocol.proto # Для бинарного пакета

(Примечание: Для инструкций для nanopb-0.3.9.x и более ранних версий, увидьте документацию соответствующей версии здесь)

Бинарные пакеты для Windows, Linux и Mac OS X должны содержать все необходимые зависимости, включая Python, библиотеку python-protobuf и протокол protoc. Если вы используете git-checkout или обычное распределение исходного кода, вам потребуется отдельно установить Python. Как только у вас будет Python, вы можете установить другие зависимости с помощью pip install --upgrade protobuf grpcio-tools. Вы можете еще больше настроить генерацию заголовков, создав файл .options. Подробнее см. документацию.

Запуск тестов

Если вы хотите продолжить разработку ядра nanopb или проверить его функциональность с вашим компилятором и платформой, вам потребуется запустить тестовый набор. Правила сборки для тестового набора реализованы с помощью Scons, поэтому вам нужно установить Scons (например, sudo apt install scons или pip install scons). Чтобы запустить тесты:

cd tests
scons

Это покажет прогресс различных тестовых случаев. Если выходные данные не заканчиваются ошибкой, тестовые случаи были успешными.Примечание: Mac OS X по умолчанию использует псевдоним 'clang' для 'gcc', не поддерживая при этом те же опции командной строки, что и gcc. Чтобы запустить тесты на Mac OS X, используйте: scons CC=clang CXX=clang++. Точно так же можно использовать для запуска тестов с разными компиляторами на любой платформе.Для встроенных платформ существует поддержка запуска тестов на STM32 discovery board и simavr AVR симуляторе. Используйте scons PLATFORM=STM32 и scons PLATFORM=AVR для запуска этих тестов.

Системы сборки и интеграция

C-код nanopb сам по себе разработан так, чтобы быть переносимым и легко собираться на любой платформе. Часто более серьезным препятствием является запуск генератора, который принимает файлы .proto и выдает .pb.c определения.

Существуют правила сборки для нескольких систем:

И также интеграция в платформенные интерфейсы:

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-nanopb.git
git@api.gitlife.ru:oschina-mirror/mirrors-nanopb.git
oschina-mirror
mirrors-nanopb
mirrors-nanopb
master