-
Notifications
You must be signed in to change notification settings - Fork 1
tutorial_system_integration
In this tutorial we will learn how to reuse previously developed components and build a project
Prerequisites:
Please make sure a camera device with id 0 (video0) is available on your machine. In a VirtualBox System, this is possible with the extension package under the PUEL licence.
HINT: If you're using the TASTE-VM with VirtualBox, you'll maybe need the VirtualBox Oracle VM VirtualBox Extension Pack to enable USB 2.2 / USB 3.0 to get a USB camera to work. The VirtualBox Extension Pack is available for Download at the VirtualBox Website.
After installing the Extension Pack, newer USB versions can be enabled in the Virtual Machine's settings. To forward a camera to the virtual machine, select a camera from
Devices/Webcamswithin the main window of the running virtual machine.
System project creation works the same way as component creation.
- Go to your workspace and call
esrocos_create_project tutorial-system_integration - When asked for dependencies, enter
types/baseand the previously created componentstutorial-driverandtutorial-camera_capture. - Checkout and install dependencies via
esrocos_fetch_dependencies
Open the taste GUI via esrocos_edit_project
- Right click on the Interface entry and select
import InterfaceView - Go to
~/esrocos_worspace/install/tutorial/driverand selecttutorial-driver_iv.aadl - Repeat with
~/esrocos_worspace/install/tutorial/cam_captureand selecttutorial-cam_capture_iv.aadl - Add a driver component and a camera component to the canvas and connect the trigger_out RI with the capture PI
Switch to the DeploymentView Canvas and add a x86 Linux core to the deployment view, then right click on the node and use the bind all function to add both functions to the deployment system.
Call esrocos_generate_skeletons to have TASTE analyze your interfaceview and find no function needs actual code generation. Then the TASTE build-script.sh will be generated.
To include dependencies in the build process additional steps are neccesary: The esrocos build process augments the taste-build process, which builds the system as a whole. Therefore all the linking information of all system components and their respective (sub)dependencies have to be collected and provided to the taste build tools. To that end, ESROCOS utilizes pkg-config and cmake: In the project directory you will find a CMakeLists.txt which you have to edit to as follows:
cmake_minimum_required(VERSION 3.2)
project(tutorial-system_integration)
include($ENV{ESROCOS_CMAKE})
esrocos_init()
esrocos_add_dependency(PARTITION x86_partition
MODULES tutorial-cam_capture)
By calling amake the cmake script is executed and the linking information is collected in build/linkings.yml
After finishing the cmake build you can call esrocos_build_project which will configure and call the TASTE build process.
Execute ./binary.c/binaries/x86_platform
Congratulations, you successfully integrated two components into an ESROCOS system project.
