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:

配置启动脚本:

程序启动:

服务端启动:

客户端启动后:

经验分享 程序员 微信小程序 职场和发展