User Tools

Site Tools


setup

This is an old revision of the document!


Setup the environment

Useful information about the Beagle Bone Blue can be found here. How to setup the wifi, copy your image to the onboard eMMC or any other FAQs can be found here.

Getting the Scripts

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.

Prepare the Robotics Cape Library

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

$ make

Build and Deploy

Change back to your BeagleBoneBlue git repository and run the make script.

$ cd /path/to/working/directory/BeagleBoneBlue
$ ./make.sh

This will build EEROS for your target system and also builds a small EEROS application named myApp. SSH into your target and create the required folders (default password for “debian” is “temppwd”)

$ ssh debian@192.168.7.2
$ sudo mkdir /opt/eeros
$ sudo chown debian:debian /opt/eeros

Back on the host deploy the necessary files to your target by running

$ ./deploy.sh

Run the Application

On the target run the myApp application

$ 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 debian@192.168.7.2:/opt/eeros/lib
$ scp ./install-armhf/lib/libeeros.so.0.0.0.0 debian@192.168.7.2:/opt/eeros/lib
$ scp ./build-armhf/myApp/myApp debian@192.168.7.2:/opt/eeros/bin
$ scp ./myApp/HwConfigBBBlue.json debian@192.168.7.2:/opt/eeros/bin

On your target link both libraries to /usr/lib

$ sudo ln -s /opt/eeros/lib/libeeros.so.1.0.0.0 /usr/lib/libeeros.so.1.0.0.0
$ sudo ln -s /opt/eeros/lib/libeeros.so.1.0.0.0 /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.

Linux on Beagle Bone Blue

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.

RT Kernel for Beagle Bone Blue

You can also run the Beagle Bone Blue with a real-time Kernel. Check if there is already a RT-Kernel:

uname -r

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

Get your IDE

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

Import an EEROS project

  1. Start KDevelop
  2. Project → Open/Import project
  3. Get to your working directory and choose the folder “BeagleBoneBlue/myApp”. Select the CMakeLists.txt and click next.
  4. You can use myApp as name, or any other, as you prefer. If you change this name, you also have to make changes to the deploy.txt file (later on).
  5. Click finish.
  6. Create the build configuration. It is recommended to put the target architecture in the name of the build folder. Put the path where EEROS is install in the “Installation Prefix” field.

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

$ ./deploy.sh

otherwise you have to change the project name in the deploy.txt file

install-armhf/lib/libeeros.so.1.0.0.0
install-armhf/lib/libbbblueeeros.so.0.1.0

myApp/HwConfigBBBlue.json
build-armhf/YOUR-PROJECT-NAME/myApp

and run the deploy.sh afterwards.

setup.1554274037.txt.gz · Last modified: 2019/04/03 08:47 by fink