Giter Site home page Giter Site logo

zjb1001 / vsomeip Goto Github PK

View Code? Open in Web Editor NEW

This project forked from covesa/vsomeip

0.0 0.0 0.0 11.97 MB

An implementation of Scalable service-Oriented MiddlewarE over IP

License: Mozilla Public License 2.0

Shell 4.45% C++ 88.90% C 0.11% Makefile 0.21% CMake 6.22% Python 0.10%

vsomeip's Introduction

vsomeip

Copyright

Copyright (C) 2015-2022, Bayerische Motoren Werke Aktiengesellschaft (BMW AG)

License

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

vsomeip Overview

The vsomeip stack implements the http://some-ip.com/ (Scalable service-Oriented MiddlewarE over IP (SOME/IP)) protocol. The stack consists out of:

  • a shared library for SOME/IP (libvsomeip3.so)
  • a shared library for SOME/IP's configuration module (libvsomeip3-cfg.so)
  • a shared library for SOME/IP's service discovery (libvsomeip3-sd.so)
  • a shared library for SOME/IP's E2E protection module (libvsomeip3-e2e.so)

Optional:

  • a shared library for compatibility with vsomeip v2 (libvsomeip.so)
Build Instructions for Linux
Dependencies
  • A C++14 enabled compiler is needed (default for gcc >= v6.1).
  • vsomeip uses CMake as buildsystem.
  • vsomeip uses Boost >= 1.55.0:

For the tests Google's test framework https://code.google.com/p/googletest/[gtest] is needed. -- URL: https://googletest.googlecode.com/files/gtest-.zip

To build the documentation asciidoc, source-highlight, doxygen and graphviz is needed: --sudo apt-get install asciidoc source-highlight doxygen graphviz

Compilation

For compilation call:

mkdir build
cd build
cmake ..
make

To specify a installation directory (like --prefix= if you're used to autotools) call cmake like:

cmake -DCMAKE_INSTALL_PREFIX:PATH=$YOUR_PATH ..
make
make install
Compilation with predefined unicast and/or diagnosis address

To predefine the unicast address, call cmake like:

cmake -DUNICAST_ADDRESS=<YOUR IP ADDRESS> ..

To predefine the diagnosis address, call cmake like:

cmake -DDIAGNOSIS_ADDRESS=<YOUR DIAGNOSIS ADDRESS> ..

The diagnosis address is a single byte value.

Compilation with custom default configuration folder

To change the default configuration folder, call cmake like:

cmake -DDEFAULT_CONFIGURATION_FOLDER=<DEFAULT CONFIGURATION FOLDER> ..

The default configuration folder is /etc/vsomeip.

Compilation with custom default configuration file

To change the default configuration file, call cmake like:

cmake -DDEFAULT_CONFIGURATION_FILE=<DEFAULT CONFIGURATION FILE> ..

The default configuration file is /etc/vsomeip.json.

Compilation with signal handling

To compile vsomeip with signal handling (SIGINT/SIGTERM) enabled, call cmake like:

cmake -DENABLE_SIGNAL_HANDLING=1 ..

In the default setting, the application has to take care of shutting down vsomeip in case these signals are received.

Build Instructions for Android
Dependencies
  • vsomeip uses Boost >= 1.55. The boost libraries (system, thread and log) must be included in the Android source tree and integrated into the build process with an appropriate Android.bp file.
Compilation

In general for building the Android source tree the instructions found on the pages from the Android Open Source Project (AOSP) apply (https://source.android.com/setup/build/requirements).

To integrate the vsomeip library into the build process, the source code together with the Android.bp file has to be inserted into the Android source tree (by simply copying or by fetching with a custom platform manifest). When building the Android source tree, the Android.bp file is automatically found and considered by the build system.

In order that the vsomeip library is also included in the Android image, the library has to be added to the PRODUCT_PACKAGES variable in one of a device/target specific makefile:

PRODUCT_PACKAGES += \
    libvsomeip \
    libvsomeip_cfg \
    libvsomeip_sd \
    libvsomeip_e2e \

vsomeip's People

Contributors

lutzbichler avatar juergengehring avatar diogopedrozza avatar reymor avatar doschropa avatar fynnwilliam avatar ruig19 avatar goncaloalmeida avatar fscr avatar dhuss avatar alexlarsson avatar mwarning avatar pgawro avatar pdodzweit avatar phiwer avatar sebastianbergt avatar seokhee-lee avatar brenkem avatar fietzero avatar ims0 avatar janbernloehr avatar green-hand-xu avatar ziyangfu avatar kheaactua avatar maosltr avatar herobone avatar jimmy-drod avatar genivivsomeipmaintainer avatar chachoi avatar eltociear avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.