Dependencies
In order to have less issues while building and running this sample, do next:
- create
git/genivi
directory in your home directory - clone all dependecies into this
git/genivi
directory - create
build
directories into capicxx-core-runtime, vsomeip and capicxx-someip-runtime projects - build capicxx-core-runtime, vsomeip and capicxx-someip-runtimeprojects in
build
directories (see manual for these projects) - make install for capicxx-core-runtime, vsomeip and capicxx-someip-runtime
- build generators capicxx-core-tools and capicxx-someip-tools (see manual for these projects)
Also you might read our WiKi article
If you are interested in QNX you might look at Build for QNX 6.6 and Build for QNX 7.0
Steps to build and install of this sample:
cd /franca-capi-someip-sample
mkdir build
cd build
cmake ..
make
Build for QNX 6.6:
source <QNX_SDP>/qnx660-env.sh
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=../qnx_6.6.0_linux_x86.cmake -DCMAKE_INSTALL_PREFIX=deploy ..
make
make install
Build for QNX 7.0:
source <QNX_SDP>/qnxsdp-env.sh
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=../qnx_7.0.0_linux_x86_64.cmake -DCMAKE_INSTALL_PREFIX=deploy ..
make
make install
Deploy to QNX
cp <your_path>/vsomeipd deploy/bin
cp <your_path>/libvsomeip* deploy/lib
cp <your_path>/libCommonAPI* deploy/lib
cp <your_path>/libCommonAPI-SomeIP* deploy/lib
tar -cf sample.tar deploy
scp sample.tar root@<target_ip>:~
In order to run the sample you need two hosts (two PC or two virtual machines).
Set up the sample for your network (see build/build/config/vsomeip-service.json and build/build/config/vsomeip-client.json)
Change unicast
fields.
Also you have to change network device in bash scripts (see build/build/scripts/vsomeipd.sh and build/build/scripts/client.sh)
sudo route add -net 224.0.0.0/4 dev ens33
or for QNX route add -net 224.0.0.0/4 default
Steps to run:
On one of your hosts you have to run vsomeipd.sh and service.sh from build/scripts directory. Make cd build/scripts
before run them.
On another of your hosts you have to run client.sh from build/scripts directory. Make cd build/scripts
before run them.
Client using TCP requires reboot OS after every run!!!