
Implementación ligera de Protocol Buffers en C ANSI para microcontroladores y sistemas embebidos con restricciones de memoria, que permite la serialización y deserialización eficiente de datos estructurados.
==============================================
Nanopb es una implementación de Protocol Buffers de tamaño de código reducido en C ANSI. Es especialmente adecuado para su uso en microcontroladores, pero se adapta a cualquier sistema con restricciones de memoria.
Para usar la librería nanopb, necesitas hacer dos cosas:
La forma más fácil de empezar es estudiar el proyecto en "examples/simple". Contiene un Makefile, que debería funcionar directamente en la mayoría de los sistemas Linux. Sin embargo, para cualquier otro tipo de sistema de compilación, consulta los pasos manuales en README.txt en esa carpeta.
El generador de nanopb está implementado como un plugin para el compilador protoc de Google. Esto tiene la ventaja de que no es necesario reimplementar el análisis básico de archivos .proto. Sin embargo, significa que necesitas la librería protobuf de Google para ejecutar el generador.
Si has descargado un paquete binario de nanopb (ya sea para Windows, Linux o Mac OS X), el binario 'protoc' está incluido en la carpeta 'generator-bin'. En este caso, estás listo para empezar. Simplemente ejecuta este comando:
generator-bin/protoc --nanopb_out=. myprotocol.proto
Sin embargo, si estás usando un checkout de git o una distribución de código fuente simple, necesitas proporcionar tu propia versión de protoc y la librería protobuf de Google. En Linux, los paquetes necesarios son protobuf-compiler y python-protobuf. En Windows, puedes compilar la librería protobuf de Google desde el código fuente o usar una de las distribuciones binarias de la misma. En cualquier caso, si usas un protoc separado, necesitas dar manualmente la ruta al generador de nanopb:
protoc --plugin=protoc-gen-nanopb=nanopb/generator/protoc-gen-nanopb ...
Si quieres realizar un desarrollo adicional del núcleo de nanopb, o verificar su funcionalidad usando tu compilador y plataforma, querrás ejecutar el conjunto de pruebas. Las reglas de compilación para el conjunto de pruebas están implementadas usando Scons, así que necesitas tenerlo instalado. Para ejecutar las pruebas:
cd tests
scons
Esto mostrará el progreso de varios casos de prueba. Si la salida no termina en un error, las pruebas fueron exitosas.
Nota: Mac OS X por defecto crea un alias de 'clang' como 'gcc', aunque en realidad no admite las mismas opciones de línea de comandos que gcc. Para ejecutar pruebas en Mac OS X, usa: "scons CC=clang CXX=clang". De la misma manera se puede usar para ejecutar pruebas con diferentes compiladores en cualquier plataforma.