2.5.2. SmartSoft and the RaspberryPi

There is (experimental) support of the ARM architecture and the RaspberryPi by the SmartSoft infrastructure and components

However, the SmartMDSD Toolchain currently does not support cross-compilation. The SmartMDSD Toolchain is in most cases used on a standard PC/x86 platform, while the RaspberryPi is based on an ARM architecture. It is therefore not possible to use the SmartMDSD Toolchain with the RaspberryPI. This section gives instructions on how to use the components and applications created with the SmartMDSD Toolchain manually on the RasperryPi.

2.5.2.1. Preconditions

  • SmartSoft must be installed on the RaspberryPi. Use the provided installation script that comes with SmartSoft; it automatically detects the RaspberryPi and adjusts the installation routine. Experimental support is available for Raspbian (confirmed with Raspbian Jessie / 2015-11-21).

  • All described instructions must be executed from within the RaspberryPi graphical user interface / X-Session or from ssh remote login with x forwarding option "ssh -X".

  • Optional: We recommend to make sure that you can login from RaspberryPi to localhost without a password. We recomment to use ssh-copy-id to the PI localhost.

  • Deployments will be made from the RaspberryPi to the RaspberryPi. Note that you can only deploy to RaspberryPi devices. A deployment with two devices of different architectures (e.g. one RaspberryPi and one x86) is not supported.

  • Note that the user and IP of the device in the deployment project have to align with the viewpoint of the RaspberryPi. For most cases with one device, you can leave the IP at its default 127.0.0.1

2.5.2.2. Step by Step Instructions

  • Create / implement your projects as usual in the toolchain. Run the code generator for the deployment project in SmartMDSD Toolchain.

  • Make sure that all projects (deployment, components, comm-objs) are available on the RaspberryPi. For example, use versioning control like SVN/GIT to keep them in sync, as you might want to continue development on your development host (PC).

  • Compile all communication object projects and component projects manually. (Eventually delete build/ from component folder, if you copied them from your development host)

    $ cd <comm-obj or component directory>
    $ mkdir build
    $ cmake ..
    $ make
    
  • Edit DEPLOYMENT-PROJECT/src-gen/referenced-projects and correct the absolute paths of the component directories. This file is generated by the SmartMDSD Toolchain but contains paths from the development computer. Depending on your setup, these paths may be wrong and you need to correct them to match your RaspberryPi setup.

  • Now trigger the deployment action by executing the deployment script from the deployment project directory.:

    $ bash src-gen/deploy-all.sh 
  • You will find the deployment at the target folder that you specified in the deployment project. Default is ~/tmp/<DEPLOYMENT-PROJECT-NAME>.deploy

  • To start and stop the deployment, proceed as described in 2.4.4.2.

WordPress Appliance - Powered by TurnKey Linux