There are useful scripts for downloading and building EEROS applications for your Beagle Bone Blue. On your host system, switch to your current working directory
$ cd /path/to/working/directory
and clone the following git repository.
$ git clone https://github.com/ntb-ch/BeagleBoneBlue.git
Get into that cloned folder and run the clone script
$ cd BeagleBoneBlue $ ./clone.sh
this will clone all the required packages to run EEROS on your Beagle Bone Blue.
The library for the roboticscape must be manually compiled. Though the library is already on the target, we must also have it on the host, in order to be able to link an application. At the time of writing, the BeagleBone Blue Boards are shipped with an image that has the robotics cape library version 0.3.4 installed. Therefore, it is highly recommended to use this version. The bbblue-eeros wrapper library was implemented to work with the robotics cape library v0.3.4. Newer version were not tested yet. When using the clone.sh script, the right version is checked out per default and no additional step is needed.
To compile the library, change into:
$ cd robotics_cape_installer/libraries
and edit the
Makefile therein. Change the following to lines from
CC := gcc LINKER := gcc
and change them to
CC := arm-linux-gnueabihf-gcc-4.9 LINKER := arm-linux-gnueabihf-gcc-4.9
This is necassary because we work on the host and must make sure to choose the right cross compiler for our target. If you do not have this compiler on your host, you can get it with
$ sudo apt-get install g++-4.9-arm-linux-gnueabihf && sudo apt-get install cmake
If this package can not be found (Ubuntu 18.04) you have to add xenial to your sources.list
$ sudo gedit /etc/apt/sources.list
Add the following entries:
deb http://dk.archive.ubuntu.com/ubuntu/ xenial main deb http://dk.archive.ubuntu.com/ubuntu/ xenial universe
Build the robotics cape library with
Change back to your BeagleBoneBlue git repository and run the
$ cd /path/to/working/directory/BeagleBoneBlue $ ./make.sh
This will build EEROS for your target system and also builds a small EEROS application named
SSH into your target and create the required folders (default password for “debian” is “temppwd”)
$ ssh firstname.lastname@example.org $ sudo mkdir /opt/eeros $ sudo chown debian:debian /opt/eeros
Back on the host deploy the necessary files to your target by running
On the target run the
$ cd /opt/eeros/bin $ sudo ./myApp -c HwConfigBBBlue.json
If the libraries have not yet been copied to the target, copy them by hand to the right place
$ scp ./install-armhf/lib/libbbblueeeros.so email@example.com:/opt/eeros/lib $ scp ./install-armhf/lib/libeeros.so.0.0.0.0 firstname.lastname@example.org:/opt/eeros/lib $ scp ./build-armhf/myApp/myApp email@example.com:/opt/eeros/bin $ scp ./myApp/HwConfigBBBlue.json firstname.lastname@example.org:/opt/eeros/bin
On your target link both libraries to /usr/lib
$ sudo ln -s /opt/eeros/lib/libeeros.so.220.127.116.11 /usr/lib/libeeros.so.18.104.22.168 $ sudo ln -s /opt/eeros/lib/libeeros.so.22.214.171.124 /usr/lib/libeeros.so $ sudo ln -s /opt/eeros/lib/libbbblueeeros.so.0.1.0 /usr/lib/libbbblueeeros.so.0.1.0 $ sudo ln -s /opt/eeros/lib/libbbblueeeros.so.0.1.0 /usr/lib/libbbblueeeros.so
Now you should be able to run the myApp application.
The Beagle Bone Blue comes with a preinstalled Debian 8 with Kernel 4.4.54-ti-r93 or similar. Do not upgrade to Debian 9 cause robitics cape will not work anymore. Also do not use any newer Kernel, this will cause the same problem. The latest Debian Images for your Beagle Bone Blue can be downloaded here.
You can also run the Beagle Bone Blue with a real-time Kernel. Check if there is already a RT-Kernel:
If not, download:
$ sudo apt-get install linux-image-4.4.49-ti-rt-r89
Do not use a newer one. Robotics Cape won't work anymore (ERROR: missing PINMUX driver). Reboot and delete the old kernel:
sudo apt remove --purge linux-image-4.4.54-ti-r93
It is highly recommended to use an IDE for your EEROS applications. You can use an IDE of your choice. The following steps explain how to setup an EEROS application with KDevelop.
$ sudo apt-get install kdevelop
You now have your main.cpp, HwConfigBBBlue.json and the CMakeLists.txt in your project solution. You can build this application by pressing the build-button in the top left corner. To run this application on your target device, get to your working directory
$ cd /path/to/working/directory/BeagleBoneBlue
If your project name is still myApp you can run the
otherwise you have to change the project name in the deploy.txt file
install-armhf/lib/libeeros.so.126.96.36.199 install-armhf/lib/libbbblueeeros.so.0.1.0 myApp/HwConfigBBBlue.json build-armhf/YOUR-PROJECT-NAME/myApp
and run the deploy.sh afterwards.