SOMEIP环境搭建以及Demo详细介绍
本文章主要基于开源的CommonAPI,CommonAPI-SOMEIP,VSomeIP来构建完整的SOMEIP协议规范实现
1、编译boost库
此处我选择1.68版本作为boost版本
boost_1_68_0.tar.gz下载该压缩包,解压后,进入目录下面执行如下命令:
./bootstrap.sh
编译:此处指定安装目录为/home/boost,为后续编译vsomeip等其他项目做好准备;
./bjam install --prefix=/home/boost --with-system --with-thread --with-filesystem --with-log
2、编译vsomeip:
编译:此处指定boost目录
cmake .. -DBOOST_ROOT=/home/boost
3、编译commonapi,commonapi-someip
分别编译CommonAPI,CommonAPI-SOMEIP:
mkdir build& cd build & cmake .. &make -j4
mkdir build & cd build &cmake .. -DBOOST_ROOT=/home/boost & make -j4
4、编译project
-
构建项目project目录:
-
定义fidl和depl文件
fild文件如下:
fdepl文件如下:
-
Proxy和stub代码生成
此处windows环境下命令执行如下:
.cgencommonapi_core_generatorcommonapi-core-generator-windows-x86.exe -sk .fidlComm.fidl .cgencommonapi_someip_generatorcommonapi-someip-generator-windows-x86.exe -ll verbose .fidlComm.fdepl
Stub和客户端,服务端代码实现:
具体stub代码实现如下:
服务端实现:
客户端实现:
-
定义CMakeList文件
-
执行编译
将commonapi,commonapi-someip,vsomeip头文件和库文件分别拷贝到对应目录下面如下:
mkdir build&cd build&make -j4
最后生成如下:
5、运行
将相关程序和依赖库拷贝到/home/test目录下运行
配置环境:
commonapi.ini配置:此处配置为绑定someip
Someip本机启动配置文件vsomeip-local.json:
配置启动脚本:
程序启动:
服务端启动:
客户端启动后: