信息化建设包括网站建设,有什么展厅设计做的好的网站,为什么百度不收录我的网站,怎样在各大网站做有效的宣传前言#xff1a;SOME/IP 是一个汽车的中间件解决方案#xff0c;可用于控制消息。从一开始#xff0c;它的设计就是为了完美地适应不同尺寸和不同操作系统的设备。这包括小型设备#xff0c;如相机、AUTOSAR设备#xff0c;以及头部单元或远程信息处理设备。同时还确保了S…前言SOME/IP 是一个汽车的中间件解决方案可用于控制消息。从一开始它的设计就是为了完美地适应不同尺寸和不同操作系统的设备。这包括小型设备如相机、AUTOSAR设备以及头部单元或远程信息处理设备。同时还确保了SOME/IP支持信息娱乐域以及车内其他域的功能从而使SOME/IP可以用于多数替换场景以及更传统的CAN场景在智能网联汽车面向服务开发SOA架构思想环境下SOME/IP扮演着非常重要的角色--通信。2. 准备工作2.1 下载开源code 3.2.0版本capicxx-core-runtimegithub/镜像下载地址https://hub.yzuu.cf/COVESA/capicxx-core-runtime/tree/89720d3c63bbd22cbccc80cdc92c2f2dd20193bahttps://github.com/COVESA/capicxx-core-runtime/tree/89720d3c63bbd22cbccc80cdc92c2f2dd20193ba或者通过tag 选择对应的版本下载如下图capicxx-someip-runtimegithub/镜像下载地址https://hub.yzuu.cf/COVESA/capicxx-someip-runtime/tree/0ad2bdc1807fc0f078b9f9368a47ff2f3366ed13TAG下载操作如上图capicxx-dbus-runtimegithub/镜像下载地址https://hub.yzuu.cf/COVESA/capicxx-dbus-runtime/tree/d1610ad0d6f1b6751964af41a0cc1599e2d7a955TAG下载操作如上图vsomeipgithub/镜像下载地址https://hub.yzuu.cf/COVESA/vsomeip/tree/13f9c89ced6ffaeb1faf485152e27e1f40d234cdTAG下载操作如上图2.2 下载工具 最新commonapi_core_generator下载地址https://hub.yzuu.cf/GENIVI/capicxx-core-tools/releases/latest/download/commonapi_core_generator.zipcommonapi_dbus_generator下载地址https://hub.yzuu.cf/GENIVI/capicxx-dbus-tools/releases/latest/download/commonapi_dbus_generator.zipcommonapi_someip_generator下载地址https://hub.yzuu.cf/GENIVI/capicxx-someip-tools/releases/latest/download/commonapi_someip_generator.zip2.3 下载dbus1.10.10 dbus-1.10.10.tar.gz下载地址http://dbus.freedesktop.org/releases/dbus/dbus-1.10.10.tar.gz2.4 boost_1_74_0.tar.gz下载地址https://boostorg.jfrog.io/artifactory/main/release/1.74.0/source/boost_1_74_0.tar.gz 2.5 下载 dlt-daemon-2.18.8.tar.gz下载地址https://hub.yzuu.cf/COVESA/dlt-daemon/tags选择 最新v2.18.82.6 安装依赖文件ubuntusudo apt install -y asciidoc source-highlight doxygen graphviz asciidoc pkg-config3. 开发框架开发项目离不开开发框架搭建如何运作整个资源。3.1 开发框架.├── build├── build_x86.sh├── cfg│ ├── commonapi.ini│ ├── vsomeip_client.json│ ├── vsomeip.json│ └── vsomeip_server.json├── CMakeLists.txt├── doc│ ├── CommonAPICppSpecification.pdf│ ├── CommonAPICppUserGuide.pdf├── examples│ ├── CMakeLists.txt│ ├── fidl│ ├── src│ └── src-gen│ └── v0├── host_tools│ ├── commonapi_core_generator│ ├── commonapi_dbus_generator│ └── commonapi_someip_generator├── thirdparty│ ├── archive│ │ ├── capicxx-core-runtime-89720d3c63bbd22cbccc80cdc92c2f2dd20193ba.zip│ │ ├── capicxx-dbus-runtime-d1610ad0d6f1b6751964af41a0cc1599e2d7a955.zip│ │ ├── capicxx-someip-runtime-0ad2bdc1807fc0f078b9f9368a47ff2f3366ed13.zip│ │ ├── dbus-1.10.10.tar.gz│ │ └── vsomeip-13f9c89ced6ffaeb1faf485152e27e1f40d234cd.zip│ ├── capicxx-core-runtime│ ├── capicxx-dbus-runtime│ ├── capicxx-someip-runtime│ ├── CMakeLists.txt│ ├── dbus-1.10.10│ └── vsomeip├── toolchains│ ├── archive│ │ ├── boost_1_74_0.tar.gz│ │ ├── commonapi_core_generator.zip│ │ ├── commonapi_dbus_generator.zip│ │ ├── commonapi_someip_generator.zip│ │ └── dlt-daemon-2.18.8.tar.gz│ ├── boost_1_74_0│ ├── dlt-daemon-2.18.8│ └── scripts│ ├── build_boost_android.sh│ └── build_boost_common.sh3.2 编译脚本3.2.1 Ubuntu Linux 编译脚本#!/bin/bash
#
#----------------------------------------------------------
# author: Tim
# email : 1352430027qq.com
# description: SOA someip build script
# ---------------------------------------------------------
# Warm reminder Abort operation with CtrlC
# ---------------------------------------------------------ROOT_DIR$(pwd)DBUS_ARCHIVE_PATH${ROOT_DIR}/thirdparty/archive/dbus-1.10.10.tar.gz
DBUS_DIR${ROOT_DIR}/thirdparty/dbus-1.10.10BOOST_ARCHIVE_PATH${ROOT_DIR}/toolchains/archive/boost_1_74_0.tar.gz
BOOST_DIR${ROOT_DIR}/toolchains/boost_1_74_0DLT_ARCHIVE_PATH${ROOT_DIR}/toolchains/archive/dlt-daemon-2.18.8.tar.gz
DLT_DIR${ROOT_DIR}/toolchains/dlt-daemon-2.18.8PREFIX_DIR${ROOT_DIR}/build/x86
PREFIX_INSTALL_DIR${PREFIX_DIR}/installecho -e Project dir: $ROOT_DIRif [ -d ${PREFIX_INSTALL_DIR} ];thenrm -rf $PREFIX_INSTALL_DIRmkdir -p $PREFIX_INSTALL_DIR
elsemkdir -p $PREFIX_INSTALL_DIR
fiif [ ! -d ${DBUS_DIR} ];thenif [ -e ${DBUS_ARCHIVE_PATH} ];thenecho -e archive $DBUS_ARCHIVE_PATH is exist. now do it.tar -xzf ${DBUS_ARCHIVE_PATH} -C ${ROOT_DIR}/thirdparty/ cd ${DBUS_DIR}for i in ${ROOT_DIR}/thirdparty/capicxx-dbus-runtime/src/dbus-patches/*.patch; do patch -p1 $i; done./configuremakecd ${ROOT_DIR}elseecho -e archive ${DBUS_ARCHIVE_PATH} is not exist. now get it.cd thirdparty/archive/wget http://dbus.freedesktop.org/releases/dbus/dbus-1.10.10.tar.gzcd ${ROOT_DIR}tar -xzf ${DBUS_ARCHIVE_PATH} -C ${ROOT_DIR}/thirdparty/ cd thirdparty/dbus-1.10.10for i in ${ROOT_DIR}/thirdparty/capicxx-dbus-runtime/src/dbus-patches/*.patch; do patch -p1 $i; done./configuremakecd ${ROOT_DIR}fi
fiif [ ! -d ${BOOST_DIR} ];thenecho -e dir ${BOOST_DIR} is not exist. now do it.if [ -e ${BOOST_ARCHIVE_PATH} ];thenecho -e archive $BOOST_ARCHIVE_PATH is exist. now do it.tar -xzf ${BOOST_ARCHIVE_PATH} -C ${ROOT_DIR}/toolchains/ mkdir -p ${BOOST_DIR}/build/x86cd ${BOOST_DIR}./bootstrap.sh --prefixbuild/x86./b2 installsudo ./bootstrap.sh --prefix/usr/localsudo ./b2 installcd ${ROOT_DIR}elseecho -e archive ${BOOST_ARCHIVE_PATH} is not exist. now get it.cd ${ROOT_DIR}/toolchains/archivewget https://boostorg.jfrog.io/artifactory/main/release/1.78.0/source/boost_1_78_0.tar.gztar -xzf boost_1_78_0.tar.gz -C ${ROOT_DIR}/toolchains/mkdir -p ${BOOST_DIR}/build/x86cd ${BOOST_DIR}./bootstrap.sh --prefixbuild/x86./b2 installsudo ./bootstrap.sh --prefix/usr/localsudo ./b2 installcd ${ROOT_DIR}fi
fiif [ ! -d ${DLT_DIR} ];thenecho -e dir ${DLT_DIR} is not exist. now do it.if [ -e ${DLT_ARCHIVE_PATH} ];thenecho -e archive $DLT_ARCHIVE_PATH is exist. now do it.tar -xzf ${DLT_ARCHIVE_PATH} -C ${ROOT_DIR}/toolchains/ mkdir -p ${DLT_DIR}/build/x86cd ${DLT_DIR}/build/x86cmake ../../makesudo make installcd ${ROOT_DIR}fi
fiif [ ! -d ${ROOT_DIR}/toolchains ];thenmkdir toolchains
fiif [ ! -d ${ROOT_DIR}/host_tools ];thenmkdir host_tools
fiif [ ! -e ${ROOT_DIR}/toolchains/archive/commonapi_core_generator.zip ]; thencd ${ROOT_DIR}/toolchains/archiveecho -e archive file commonapi_core_generator.zip is not exist. now get it..wget https://hub.yzuu.cf/GENIVI/capicxx-core-tools/releases/latest/download/commonapi_core_generator.zipcd ${ROOT_DIR}
fiif [ ! -d host_tools/commonapi_core_generator ];thenunzip -o toolchains/archive/commonapi_core_generator.zip -d host_tools/commonapi_core_generator
fiif [ ! -e ${ROOT_DIR}/toolchains/archive/commonapi_dbus_generator.zip ];thencd ${ROOT_DIR}/toolchains/archiveecho -e archive file commonapi_dbus_generator.zip is not exist. now get it..wget https://hub.yzuu.cf/GENIVI/capicxx-dbus-tools/releases/latest/download/commonapi_dbus_generator.zipcd ${ROOT_DIR}
fiif [ ! -d host_tools/commonapi_dbus_generator ];thenunzip -o toolchains/archive/commonapi_dbus_generator.zip -d host_tools/commonapi_dbus_generator
fiif [ ! -e ${ROOT_DIR}/toolchains/archive/commonapi_someip_generator.zip ];thencd ${ROOT_DIR}/toolchains/archiveecho -e archive file commonapi_someip_generator.zip is not exist. now get it..wget https://hub.yzuu.cf/GENIVI/capicxx-someip-tools/releases/latest/download/commonapi_someip_generator.zipcd ${ROOT_DIR}
fiif [ ! -d host_tools/commonapi_someip_generator ];thenunzip -o toolchains/archive/commonapi_someip_generator.zip -d host_tools/commonapi_someip_generator
fiecho ---------------------------
echo start to build X86.
echo ---------------------------cmake -B $PREFIX_DIR \-DCMAKE_INSTALL_PREFIX$PREFIX_INSTALL_DIR \cmake --build $PREFIX_DIR --target install3.2.2 Android NDK 编译脚本//TODO3.2.3 QNX编译脚本//TODO4. 结果输出.└── x86 ├── CMakeCache.txt ├── CMakeDoxyfile.in ├── CMakeDoxygenDefaults.cmake ├── CMakeFiles │ ├── 3.20.0 │ │ ├── CMakeCCompiler.cmake │ │ ├── CMakeCXXCompiler.cmake │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ ├── CMakeSystem.cmake │ │ ├── CompilerIdC │ │ └── CompilerIdCXX │ ├── cmake.check_cache │ ├── CMakeDirectoryInformation.cmake │ ├── CMakeError.log │ ├── CMakeOutput.log │ ├── CMakeRuleHashes.txt │ ├── CMakeTmp │ ├── Makefile2 │ ├── Makefile.cmake │ ├── progress.marks │ └── TargetDirectories.txt ├── cmake_install.cmake ├── examples │ ├── CMakeFiles │ │ ├── CMakeDirectoryInformation.cmake │ │ ├── fidl_gen.dir │ │ ├── HelloWorldClient.dir │ │ ├── HelloWorldService.dir │ │ ├── HelloWorldSomeIPClient.dir │ │ ├── HelloWorldSomeIPService.dir │ │ └── progress.marks │ ├── cmake_install.cmake │ ├── HelloWorldClient │ ├── HelloWorldService │ ├── HelloWorldSomeIPClient │ ├── HelloWorldSomeIPService │ └── Makefile ├── install │ ├── etc │ │ └── vsomeip │ ├── include │ │ └── CommonAPI-3.2 │ └── lib │ ├── cmake │ ├── libCommonAPI-DBus.so - libCommonAPI-DBus.so.3.2.0 │ ├── libCommonAPI-DBus.so.3.2.0 │ ├── libCommonAPI.so - libCommonAPI.so.3.2.0 │ ├── libCommonAPI.so.3.2.0 │ ├── libCommonAPI-SomeIP.so - libCommonAPI-SomeIP.so.3.2.0 │ ├── libCommonAPI-SomeIP.so.3.2.0 │ ├── libvsomeip3-cfg.so - libvsomeip3-cfg.so.3 │ ├── libvsomeip3-cfg.so.3 - libvsomeip3-cfg.so.3.1.20 │ ├── libvsomeip3-cfg.so.3.1.20 │ ├── libvsomeip3-e2e.so - libvsomeip3-e2e.so.3 │ ├── libvsomeip3-e2e.so.3 - libvsomeip3-e2e.so.3.1.20 │ ├── libvsomeip3-e2e.so.3.1.20 │ ├── libvsomeip3-sd.so - libvsomeip3-sd.so.3 │ ├── libvsomeip3-sd.so.3 - libvsomeip3-sd.so.3.1.20 │ ├── libvsomeip3-sd.so.3.1.20 │ ├── libvsomeip3.so - libvsomeip3.so.3 │ ├── libvsomeip3.so.3 - libvsomeip3.so.3.1.20 │ ├── libvsomeip3.so.3.1.20 │ └── pkgconfig ├── install_manifest.txt ├── Makefile └── thirdparty ├── capicxx-core-runtime │ ├── CMakeFiles │ ├── cmake_install.cmake │ ├── CommonAPIConfig.cmake │ ├── CommonAPIConfigVersion.cmake │ ├── CommonAPI.pc │ ├── commonapi.spec │ ├── CommonAPITargets.cmake │ ├── Doxyfile │ ├── libCommonAPI.so - libCommonAPI.so.3.2.0 │ ├── libCommonAPI.so.3.2.0 │ └── Makefile ├── capicxx-dbus-runtime │ ├── CMakeFiles │ ├── cmake_install.cmake │ ├── CommonAPI-DBusConfig.cmake │ ├── CommonAPI-DBusConfigVersion.cmake │ ├── CommonAPI-DBus.pc │ ├── commonapi-dbus.spec │ ├── CommonAPI-DBusTargets.cmake │ ├── Doxyfile │ ├── libCommonAPI-DBus.so - libCommonAPI-DBus.so.3.2.0 │ ├── libCommonAPI-DBus.so.3.2.0 │ └── Makefile ├── capicxx-someip-runtime │ ├── CMakeFiles │ ├── cmake_install.cmake │ ├── CommonAPI-SomeIPConfig.cmake │ ├── CommonAPI-SomeIPConfigVersion.cmake │ ├── CommonAPI-SomeIP.pc │ ├── CommonAPI-SomeIPTargets.cmake │ ├── libCommonAPI-SomeIP.so - libCommonAPI-SomeIP.so.3.2.0 │ ├── libCommonAPI-SomeIP.so.3.2.0 │ └── Makefile ├── CMakeFiles │ ├── CMakeDirectoryInformation.cmake │ └── progress.marks ├── cmake_install.cmake ├── Makefile └── vsomeip ├── CMakeFiles ├── cmake_install.cmake ├── Doxyfile ├── examples ├── libvsomeip3-cfg.so - libvsomeip3-cfg.so.3 ├── libvsomeip3-cfg.so.3 - libvsomeip3-cfg.so.3.1.20 ├── libvsomeip3-cfg.so.3.1.20 ├── libvsomeip3-e2e.so - libvsomeip3-e2e.so.3 ├── libvsomeip3-e2e.so.3 - libvsomeip3-e2e.so.3.1.20 ├── libvsomeip3-e2e.so.3.1.20 ├── libvsomeip3-sd.so - libvsomeip3-sd.so.3 ├── libvsomeip3-sd.so.3 - libvsomeip3-sd.so.3.1.20 ├── libvsomeip3-sd.so.3.1.20 ├── libvsomeip3.so - libvsomeip3.so.3 ├── libvsomeip3.so.3 - libvsomeip3.so.3.1.20 ├── libvsomeip3.so.3.1.20 ├── Makefile ├── tools ├── vsomeip3Config.cmake ├── vsomeip3ConfigVersion.cmake ├── vsomeip3.pc └── vsomeip3Targets.cmake