DESK-MX6-AN-0001: Crank Storyboard engine and application
This application note has been validated using the kit version in the History table.
History[edit | edit source]
|Version||Date||Development Kit version|
|1.0.0||May 2021||DESK 1.0.0|
Introduction[edit | edit source]
Crank Storyboard is a cross-platform embedded GUI development framework, which will help the Customer to create aspirational GUI experiences. Crank Software has become the trusted embedded GUI framework across the wearables, industrial, healthcare, smart home, and appliances industries.
DAVE AXEL Lite SOM is able to run Crank Storyboard engine in its bundled root file system: the following Application Note shows how to integrate the
sbengine runtime and then executing the Storyboard application in the targte platform.
Installing Crank Storyboard[edit | edit source]
First of all, watch and follow the Getting started with Storyboard page for learning how to install and learn the Crank Software Storyboard.
Installing sbengine in the root file system[edit | edit source]
SD card[edit | edit source]
The proper SD card image should be selected, i.e.:
desk-image-qt5-desk-mx6.sdcard.gz and then create the SD card using - for example - Linux or Windows balenaEtcher tool.
runtime installation[edit | edit source]
From the Storyboard Engine directory of your Storyboard installation extract and copy the runtime directory
in the target root file system.
For example, if the runtime has been copied in the SD card first partition, copy it in the
root@desk-mx6:~# mkdir /usr/share/crank root@desk-mx6:~# mkdir /usr/share/crank/runtimes root@desk-mx6:~# cp -aR /run/media/mmcblk0p1/linux-imx6yocto-armle-opengles_2.0-obj/ /usr/share/crank/runtimes root@desk-mx6:~#
Then, copy a Storyboard exmaple in another directory, for example:
root@desk-mx6:~# mkdir /usr/share/crank/apps root@desk-mx6:~# cp -aR /run/media/mmcblk0p1/Launcher2016_FullScreen /usr/share/crank/apps root@desk-mx6:~#
touchscreen[edit | edit source]
Storyboard sbengine uses
mtdev for accessing the touchscreen device. The mtdev library is then required.
For adding the mtdev package it is enough to build it with Yocto following the Building_additional_packages instructions
Once the package has been built, just install it with
root@desk-mx6:~# rpm -i mtdev-1.1.5-r0.cortexa9hf_neon.rpm root@desk-mx6:~#
thus enabling the touchscreen device.
You can find the package built here for your convenience.
Script for automatic application startup[edit | edit source]
A simple shell script can be used for starting the
sbengine runtime and the selected application
set -e echo "Starting Storyboard Application..." echo -e '\033[9;0]' >> /dev/tty1 echo 0 >> /sys/class/graphics/fb0/blank export FB_MULTI_BUFFER=3 export SB_APP=/usr/share/crank/apps/Launcher2016_FullScreen/Launcher2016_FullScreen_NoCircles.gapp export ENGINE=/usr/share/crank/runtimes/linux-imx6yocto-armle-opengles_2.0-obj export SB_PLUGINS=$ENGINE/plugins export LD_LIBRARY_PATH=$ENGINE/lib $ENGINE/bin/gstreamer-backend & $ENGINE/bin/sbengine -omtdev,device=/dev/input/event0,points=1 -orender_mgr,multisample=0,scale=aspect $SB_APP
systemd service[edit | edit source]
A systemd service has to be created for starting the script, for example:
and the service contains the initialization parameters:
[Unit] Description=Storyboard service After=network.target StartLimitIntervalSec=0 [Service] Type=simple Restart=0 RestartSec=1 User=root ExecStart=/etc/init.d/storyboard_launcher.sh [Install] WantedBy=multi-user.target
and then start/enable the service:
systemctl enable storyboard.service
Results[edit | edit source]
At the next reboot, the service will start
sbengine with the selected application:
... ... [ OK ] Started Terminate Psplash Boot Screen. [ OK ] Started Storyboard Service. [ OK ] Started Getty on tty1. [ OK ] Started Serial Getty on ttymxc2. [ OK ] Reached target Sound Card. [ OK ] Started Hostname Service. NXP i.MX Release Distro 4.14-sumo desk-mx6 ttymxc2 desk-mx6 login: