Skip to content

tutorial_system_integration

Kynneb edited this page Apr 19, 2018 · 3 revisions

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/Webcams within the main window of the running virtual machine.

Create the project

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/base and the previously created components tutorial-driver and tutorial-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/driver and select tutorial-driver_iv.aadl
  • Repeat with ~/esrocos_worspace/install/tutorial/cam_capture and select tutorial-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.

Generate the build script

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.

Prepare and build the project

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.

Clone this wiki locally