Dies ist eine alte Version des Dokuments!


Linux on BeagleBone® Blue

Useful information about the board can be found under BeagleBone Blue. More about working with the board can be found under https://eewiki.net/display/linuxonarm/BeagleBone+Blue

EEROS on the BeagleBone Blue

The following is a step-by-step procedure to get started using EEROS on the BeagleBone Blue board. It describes how to set up the cross development tool chain. The application is developed on a Linux host machine and can then be deployed to the BBB.

As cross tool chain, the arm-linux-gnueabihf-gcc-4.9 is needed. It is recommended to use a Ubuntu 16.04 as host operating system, since this packet is available in the default repositories. If a Linux host is used in a virtual machine, a lightweight Ubuntu distribution is recommended.

The following Git repository on GitHub will contain everything needed. How to set everything up is described in the following.

Fetch example application and build scripts on host.

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

Get EEROS and the hardware wrapper library.

$ cd BeagleBoneBlue
$ ./clone.sh

The library for the roboticscape must be compiled manually. 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

to

CC		:= arm-linux-gnueabihf-gcc-4.9
LINKER		:= arm-linux-gnueabihf-gcc-4.9

This change is necessary because the library must be compiled with the cross compiler.

Now, the cross tool chain is installed on the host machine with the following command.

$ sudo apt-get install g++-4.9-arm-linux-gnueabihf

Then, the roboticscape library is compiled using make.

$ make

Change back into your project directory and start the compilation of EEROS, the hardware wrapper library, and the application with

$ ./make.sh

Finally, load the executable onto the target (see notes below if you are doing this on a brand new board) with

$ ./deploy.sh

The default password on the BeagleBone Blue Board is „temppwd“. Edit the deploy.txt file to define which files are downloaded.
Use ssh to get on the target and change into /opt/eeros/bin. Start the demo application with

$ sudo ./myApp -c HwConfigBBBlue.json

Now, everything is ready. The development can be started in the BeagleBoneBlue/myApp/ folder.

Notes

When the BeagleBone Blue Board is used the first time (never used with EEROS before or a brand new BeagleBone Blue / Image), some initial setup steps are needed. The script deploy.sh will copy the executable and libraries to /opt/eeros. Therefore, this folder must be present on the target or the copy fails. To create the folder, execute the following on the BeagleBone:

debian@beaglebone:$ sudo mkdir /opt/eeros
debian@beaglebone:$ sudo chown debian:debian /opt/eeros/

Also, some links must be created. The system must find the eeros libraries to load them. The following symbolic links are needed:

debian@beaglebone:$ cd /usr/lib/
debian@beaglebone:$ sudo ln -s /opt/eeros/lib/libbbblueeeros.so.1.0.0.0 libbbblueeeros.so.1.0.0.0
debian@beaglebone:$ sudo ln -s libbbblueeeros.so.1.0.0.0 libbbblueeeros.so
debian@beaglebone:$ sudo ln -s /opt/eeros/lib/libeeros.so.1.0.0.0 libeeros.so.1.0.0.0
debian@beaglebone:$ sudo ln -s libeeros.so.1.0.0.0 libeeros.so

Make sure the version information (….so.1.0.0.0) is not outdated! This can be checked by browsing the BeagleBoneBlue/install-armhf/lib/ folder.

Advanced BeagleBone Blue Setups for EEROS

RT-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