赞
踩
原文:
3 嵌入式设备中的使用
嵌入式设备中使用的protobuf版本,我们选择的是nanoprobuf。
Nanopb是Google Protocol Buffers数据格式的简单C实现。
它针对32位微控制器,但也适用于其他紧凑(2-10 kB ROM,<1 kB RAM)内存限制的嵌入式系统。
首先,从https://jpa.kapsi.fi/nanopb/download/下载Nanopb的最新版本。
Nanopb一般发布4个包,3个含系统名的包是针对该系统已编译好工具链的,另一个是源码包。
比如,nanopb-0.3.9-linux-x86.tar.gz就是Linux环境下可直接使用的工具链。
++++++++++++++++++++++
我们要下载的就是LINUX版本。
下载nanopb-0.3.9-linux-x86.tar.gz完毕后,用命令tar -xvf nanopb-0.3.9-linux-x86.tar.gz解压。
然后到example目录下,example是protobuf的使用例子,其中simple目录是最简单的一个例子,
我们就用simple来说明。
进入simple目录,
可以看到一个simple.c和simle.proto脚本。
.proto是结构化脚本,使用前要用工具链将其转为C文件。
simple是main函数,里面调用proto脚本转化的C文件里的结果,
并演示如何将结构数据转为二进制流,再将二进制流恢复为结构数据。
在simple路径下,
使用命令 ../../generator-bin/protoc --nanopb_out=. simple.proto,
将simple.proto转化为simple.pb.c和simple.pb.h两个文件。
--nanopb_out=. 表示将转化的文件输出到当前目录。
注意参数之间的空格。
可以看到在simple目录下,有个Makefile脚本,那么我们在simple路径下用make命令就可以编译出simple可执文件了。
然后执行./simple,便可看到执行结果。
++++++++++++++++++++++++
nanopb-0.3.9.3-windows-x86
- ++++++++++++++++++++++++
- nanopb-0.3.9.3-windows-x86
-
- D:
-
- GKOSON_BACK_GARDEN\nanopb-0.3.9.3-windows-x86\examples\simple
-
- start ../../generator-bin/protoc --nanopb_out=. simple.proto
-
- make
- 此时终于搞不下去 make不是WIN可以做的
需要换一个文件夹 GKOSON_BACK_GARDEN\nanopb-0.3.9.3-windows-x86\examples\cmake_simple
还是不得其法!算啦 不搞了
直接用吧
下面成功了!!!!
-
- D:
-
- GKOSON_BACK_GARDEN\nanopb-0.3.9.3-windows-x86\examples\simple
-
- start ../../generator-bin/protoc --nanopb_out=. 1.proto
可以看到执行完毕出来一个.C.H 比较工具看到和我工程是一样的
资源:nanopb-执行完毕.C.H文件-3个文件
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。