SOMEIP 使用

 

SOMEIP 使用记录

SOMEIP 配置文件*.json的使用和理解

字段名称 配置示例 说明
routing “routing” : “service-sample” 配置本机系统的 routing ,同一机器只能有一个,比如在同一机器上response-sample配置了”routing” : “service-sample”,那么request-sample则不能配置任何的routing,否则request-sample将报错类似内容为 Routing manager with id client-sample4727(0x1277) already exists.

更多内容请参见

编译 vsomeip

Execute within the vsomeip source directory:

mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE="/home/crystax-ndk-10.3.2/cmake/toolchain.cmake" -DANDROID_ABI=x86_64 -DCMAKE_BUILD_TYPE=Debug -DANDROID_NDK="/home/crystax-ndk-10.3.2/" -DCMAKE_CXX_FLAGS="-std=gnu++11 -frtti -fexceptions"  .. 

编译 capicxx-someip-tools/CommonAPI-Examples

需要先修改下CMakeList.txt

Execute within the CommonAPI-Examples source directory:

mkdir build
cd build
/home/travis/chehejia/capicxx-someip-tools/CommonAPI-Examples
/root/Android/Sdk/cmake/3.6.4111459/bin/cmake -DCMAKE_TOOLCHAIN_FILE="/home/crystax-ndk-10.3.2/cmake/toolchain.cmake" -DANDROID_ABI=x86_64 -DCMAKE_BUILD_TYPE=Debug -DANDROID_NDK="/home/crystax-ndk-10.3.2/" -DCMAKE_CXX_FLAGS="-std=gnu++11 -frtti -fexceptions" -DCOMMONAPI_SOMEIP_TOOL_GENERATOR="/home/travis/chehejia/commonapi_someip_generator/commonapi-someip-generator-linux-x86_64" -DCOMMONAPI_TOOL_GENERATOR="/home/travis/chehejia/commonapi-generator/commonapi-generator-linux-x86_64" -DCommonAPI_DIR="/home/travis/chehejia/capicxx-core-runtime/build" -Dvsomeip_DIR="/home/travis/chehejia/someip_chehejia/someip/build" -DCMAKE_GLUECODE_SOMEIP_NAME=SomeIPGlue ../
/home/travis/chehejia/capicxx-someip-tools/CommonAPI-Examples
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-std=gnu++11 -frtti -fexceptions" -DCOMMONAPI_SOMEIP_TOOL_GENERATOR="/home/travis/chehejia/commonapi_someip_generator/commonapi-someip-generator-linux-x86_64" -DCOMMONAPI_TOOL_GENERATOR="/home/travis/chehejia/commonapi-generator/commonapi-generator-linux-x86_64" -DCommonAPI_DIR="/home/travis/chehejia/capicxx-core-runtime/build" -Dvsomeip_DIR="/home/travis/chehejia/someip_chehejia/someip/build" -DCMAKE_GLUECODE_SOMEIP_NAME=SomeIPGlue ../

Build CommonAPI

Execute within the CommonAPI source directory:

mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE="/home/crystax-ndk-10.3.2/cmake/toolchain.cmake" -DANDROID_ABI=x86_64 -DCMAKE_BUILD_TYPE=Debug -DANDROID_NDK="/home/crystax-ndk-10.3.2/" -DCMAKE_CXX_FLAGS="-std=gnu++11 -frtti -fexceptions" ..

Build CommonAPI-SomeIP

Execute within the CommonAPI-SomeIP source directory:

mkdir build
cd build
/root/Android/Sdk/cmake/3.6.4111459/bin/cmake -DCMAKE_TOOLCHAIN_FILE="/home/crystax-ndk-10.3.2/cmake/toolchain.cmake" -DANDROID_ABI=x86_64 -DCMAKE_BUILD_TYPE=Debug -DANDROID_NDK="/home/crystax-ndk-10.3.2/" -DCMAKE_CXX_FLAGS="-std=gnu++11 -frtti -fexceptions" -DUSE_INSTALLED_COMMONAPI=OFF -Dvsomeip_DIR="/home/travis/chehejia/someip_chehejia/someip/build" ..
cmake  -DANDROID_ABI=x86_64 -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-std=gnu++11 -frtti -fexceptions" -DUSE_INSTALLED_COMMONAPI=OFF -Dvsomeip_DIR="/home/travis/chehejia/someip_chehejia/someip/build" ..
cd CommonAPI-SomeIP-Tools/org.genivi.commonapi.someip.verification/
mkdir build
cd build
cmake \
-DCOMMONAPI_SOMEIP_TOOL_GENERATOR=myworkpath/CommonAPI-SomeIP-Tools/org.genivi.commonapi.  
someip.cli.product/target/products/org.genivi.commonapi.someip.cli.product/target/  
products/org.genivi.commonapi.someip.cli.product/linux/gtk/MYARCH/commonapi--someip-  
generator-linux-MYARCH \
-DCOMMONAPI_TOOL_GENERATOR=myworkpath/CommonAPI-Tools/org.genivi.commonapi.core.cli.product  
/target/products/org.genivi.commonapi.core.cli.product/linux/gtk/MYARCH/commonapi-  
generator-linux-MYARCH \
-DCommonAPI_DIR=myworkpath/CommonAPI/build \
-DCommonAPI-SomeIP_DIR=myworkpath/CommonAPI-SomeIP/build \
-Dvsomeip_DIR=myworkpath/vSomeIP/build \
-DCOMMONAPI_TEST_FIDL_PATH=myworkpath/CommonAPI-Tools/org.genivi.commonapi.core.  
verification/fidl ..
make -j4