E-box/Install manual

From Control Systems Technology Group

Jump to: navigation, search

This page contains the neccesary step to install a realtime linux system with EtherCAT

Contents

Installing a linux distribution

Ubuntu 10.04 LTS

File:ubuntu.jpg

Ubuntu is an operating system developed by the Ubuntu community. Based on Linux and GNU software Ubuntu is perfect for most PC's and laptops. It contains all the applications you need, a modern web browser, email package, programs for photo editing and important to us: all the tools for programming. Ubuntu is developed with focus on security. LTS (Long Term Support) versions will be three years provided with security updates. These LTS versions are free and available for everyone. Upgrades to new versions of Ubuntu will always be free.


This part describes how to install and configure Ubuntu 10.04LTS with rt-kernel. The last LTS (Long Term Support) version with rt support during the writing of this document is Ubuntu version 10.04 (Lucid Lynx). It is also possible to install Ubuntu Studio. This version for audio- and video editing is still equipped with the Linux kernel-rt


Download and install ubuntu-desktop-amd64.iso 10.04.2 (64 bits) or ubuntu-10.04.2-desktop-i386.iso (32 bits):

http://www.ubuntu-nl.org/getubuntu/download/LTS  or  http://releases.ubuntu.com


Download the latest updates via the Synaptic Package Manager. Package updates are allowed. Do not upgrade e to a higher Ubuntu version eg 10.10. Download and install Linux-rt via the Synapic Package Manager. Restart Ubuntu and repeatedly press the Shift button. You'll come into the Grub boot manager menu. Select the rt kernel version.

Check the kernel version in a terminal with:

uname -r

respons: kernelversion-rt

2.6.31-11-rt

Change standard kernel to start by installing the package startupmanager


Embedded pc's

A manual for installing Ubuntu on embedded pc's can be found here: Install manual for Ubuntu on embedded pc

Required packages

Download and install via the Synaptic Package manager:

Nautilus file browser. (This is useful as superuser)
gcc and g++ 4.1 (For Matlab 2007b)
java-1.6.0-sun or sun-java6-bin (using Matlab and  smartSVN)
smbfs (for connection to Windows shares) 
libgtk2.0-0 (for future version of E-scope)
libpq5
libpq-dev


Some packages are not available with the default settings. Check also: Pre-released updates (lucid Proposed) and unsupported updates. Also check the boxes at the tab other software.

After doing this, press reload at the main screen of Synaptic Package manager.

File:synaptic.jpg

Check java version:

java -version

Unfortunately, the standard sun-java packages have been removed from the Ubuntu repositories (replaced by openJDK). To install Sun Java, do the following in a terminal window:

sudo add-apt-repository ppa:ferramroberto/java
sudo apt-get update
sudo apt-get install sun-java6-bin sun-java6-jre sun-java6-plugin

If you accidently installed multiple java versions, you can use the command

sudo update-alternatives --config java

to choose the correct java version system wide.


Two versions of gcc and g++ are installed. These are gcc and g++ 4.1 and 4.3. The default version is probably the highest 4.3. Matlab2007b MEX only works with gcc and g++ version 4.0 to 4.2.


Check the default used version:

gcc --version
g++ --version


Force a symbolic link to version 4.1 in the /usr/bin directory:

cd /usr/bin
ln -sf gcc-4.1 gcc
ln -sf g++-4.1 g++

Installing Matlab

Currently three versions of Matlab are supported: 2007b and 2010a (experimental support only), 2011b (preffered). Choose a supported version.

Installing Matlab 2007b

Matlab 2007b is availiable at:

\\wtbfiler\Software\Unix-Software\matlab2007b


Use samba to the connect the wtbfiler:

taskbar, places, connect to server, windows share (samba) 

Type server wtbfiler, leave the other fields empty and connect. Domain Name, Username and Password should be filled on the next page otherwise it will not work.

File:Samba.jpg


Copy the Matlab folder temporarily to your Home directory.

Check your permissions:

ls -l


Make sure the installation files are executable and change your permissions if necessary:

chmod 755-R  /home/username/matlab2007b


Create a new directory to install Matlab:

mkdir /usr/local/matlab75

Also make a directory for the license file

mkdir /usr/local/matlab75/etc/

copy the licence.dat in this directory. The license.dat on the wtbfiler may be incorrect, please check that the keyword INCREMENT starts on a new line.

It's possible to do this on the commandline. It is more convienient to use the Nautilus file browser. Open a new terminal start nautilus and copy the file:

sudo nautilus
Password:


Open a terminal and install Matlab2007b:

sudo ./install


Create a symbolic link for matlab in /usr/bin (Matlab starts from any directory):

sudo su
Password:
cd /usr/bin
ln -s /usr/local/matlab75/bin/./matlab /bin/matlab


Start Matlab (as root):

 sudo matlab


If your matlab code is invisible set the visual effects in Ubuntu to none:

 System, Preferences, Appearance, Visual Effects


For MEX we need g++ and gcc 4.1. Force matlab to use the gcc compiler by:

 >> mex -setup

File:Mex.jpg

Option 2: gcc MEX files

Matlab is installed and configured.


Different path or different matlab version

If a different version of matlab is installed, i.e. a different version than 2011b or matlab is installed in a different direction, then edit the following line in ec_main.c after obtaining the software

       u1ini("/usr/local/matlab2011b/rtw/c/ectarget/ectarget.u1");

before running make_all_install.

Getting the software

It is possible to obtain the current software via our svn-server

What is svn? Svn, in full: Subversion is a tool to exchange files between members of a team. It ensures that all team members always have the latest versions of all project files available. With svn precious work is not lost: you can always fall back on earlier versions of your project. There are dozens svn clients. All open-source. Smartsvn is a handy java based svn client available at:

http://www.syntevo.com/smartsvn/index.html

check out the following url into your svn client:

https://e-box.wtb.tue.nl/svn/e-box/trunk/src/E-box/


Link to the svn install-manual pdf: Install smartsvn


Copy the folders and files in:

/home/ebox/svn/trunk/src/E-box/

Open a terminal and start matlab as a superuser:

sudo matlab
password:


After updating your local copy, run

make_all_clean
make_all_install

in Matlab (from /home/ebox/svn/trunk/src/E-box/) to obtain a fresh copy of the latest verion. The first time it might be required to restart Matlab.


What does make_all_install?

The Libs Timer_posix, ec, and Coin are build and the symbolic links are created

Soem EtherCAT master library C files are build. Output directory in:

/usr/src/soem


Tagets: C mex files through are build by make.m subsequently the target mexglx files be installed in:

/usr/local/matlab75/rtw/c/ectarget/sfunctions


Ectarget is installed in:

/usr/local/matlab75/rtw/c

Building and running a Simulink model in the external mode with eclib

Download the manual via this link.

Most recent compatibility issues - March 2017

There are some compatibility issues regarding the version of matlab, the version of Ubuntu and the version of the gcc compiler. Different combinations may not work. The most recent combination that enables to properly build the Simulink model and properly connect to the E-box is:

  • Ubuntu 16.04, more specifically Ubuntu 16.04.2 LTS by xenial
  • Matlab 2016a
  • gcc version 5.4.0

For instance, Matlab 2016b with the above Ubuntu and gcc version doesn't enable the Simulink model to build properly and the error messages point to the fact that this version is not compatible with the E-box software and specifically with the ectarget.

Lastly, users of Ubuntu 16.04 must refer to the section Advanced, for connecting to Turtles in order to rename the network interfaces into eth0, eth1 etc, in case they have different names, before doing the step: Connecting the E/BOX, changing ethernet index number. The part until the phrase: Reboot necessary after doing this! is needed, the rest can be discarded.

Personal tools