User Tools

Site Tools


setup

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 with your Beagle Bone Blue. Switch to your current working directory

$ cd /path/to/working/directory

an clone the following git repository.

$ git clone https://github.com/ntb-ch/BeagleBoneBlue.git

Get into that cloned folder and run the shell 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

First you have to build a running version of the Robotics Cape library for your target device. To do that, switch to the Robitics Cape folder

$ cd robotics_cape_installer

and checkout version 0.3.4.

$ git checkout v0.3.4

Afterwards enter the libraries folder and edit its Makefile.

$ cd libraries
$ nano Makefile

Find the lines

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

Application

Now you have to change 2 files.First go to your BeagleBoneBlue/myApp folder and edit the CMakeLists.txt. Find the line

link_directories("~/Checkout/BeagleBoneBlue/robotics_cape_installer/libraries/")

and change this absolute path to match your path.

link_directories("/path/to/working/directory/BeagleBoneBlue/robotics_cape_installer/libraries/")

Second, the current main.cpp is not working. Copy and paste the “Hello EEROS” tutorial into your main.cpp.

#include <iostream>
#include <eeros/logger/Logger.hpp>
#include <eeros/logger/StreamLogWriter.hpp>
 
int main() {
  using namespace eeros::logger;
 
  StreamLogWriter w(std::cout);
  Logger log;
  log.set(w);
 
  log.info() << "Hello, EEROS";
 
  return 0;
}

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 chmod +777 /opt/eeros
$ mkdir /opt/eeros/bin
$ mkdir /opt/eeros/lib

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.0.0.0.0 /usr/lib/libeeros.so.0.0.0.0
$ sudo ln -s /opt/eeros/lib/libeeros.so.0.0.0.0 /usr/lib/libeeros.so.0.0
$ sudo ln -s /opt/eeros/lib/libeeros.so.0.0.0.0 /usr/lib/libeeros.so
$ sudo ln -s /opt/eeros/lib/libbbblueeeros.so /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 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.0.0.0.0
install-armhf/lib/libbbblueeeros.so

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

and run the deploy.sh afterwards.

setup.txt · Last modified: 2019/02/21 16:29 by graf