Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
software:linux:beagleboneblue [2018-05-15 16:50]
Fink Simon
software:linux:beagleboneblue [2019-07-28 22:08] (aktuell)
Graf Urs
Zeile 1: Zeile 1:
-======Linux on BeagleBone ​Blue====== +====== Linux on BeagleBone® ​Blue ====== 
-Useful information about the board can be found under [[:​embedded_systems:​ti_sitara_am335x:​beaglebone_blue:​start|Beagle Bone Blue]]. More about working with the board can be found under +Useful information about the board can be found under [[:​embedded_systems:​ti_sitara_am335x:​beaglebone_blue:​start|BeagleBone ​Blue]]. More about working with the board can be found under 
-https://​eewiki.net/​display/​linuxonarm/​BeagleBone+Blue+https://​eewiki.net/​display/​linuxonarm/​BeagleBone+Blue. We mostly work with the board using [[http://​eeros.org|EEROS]].
  
-===== EEROS on BeagleBoneBlue ​===== +===== EEROS on the BeagleBone Blue ===== 
-Fetch example application and build scripts on host.+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 [[https://​lubuntu.net/​downloads/​|lightweight Ubuntu distribution]] is recommended. In case you are using a newer Ubuntu version, you have to add //xenial// to your sources list, see [[https://​askubuntu.com/​questions/​1036108/​install-gcc-4-9-at-ubuntu-18-04]]. 
 + 
 +A git repository hosted on GitHub contains an example application and build scripts. Fetch it on your cross development system.
 <​code>​ <​code>​
 $ git clone https://​github.com/​ntb-ch/​BeagleBoneBlue.git $ git clone https://​github.com/​ntb-ch/​BeagleBoneBlue.git
 </​code>​ </​code>​
-Get EEROS and the hardware wrapper library.+Get EEROS and the hardware wrapper library ​with the clone script therein.
 <​code>​ <​code>​
 $ cd BeagleBoneBlue $ cd BeagleBoneBlue
Zeile 14: Zeile 19:
 </​code>​ </​code>​
  
-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. ​Change ​into:+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:
 <​code>​ <​code>​
 $ cd robotics_cape_installer/​libraries $ cd robotics_cape_installer/​libraries
Zeile 28: Zeile 36:
 LINKER := arm-linux-gnueabihf-gcc-4.9 LINKER := arm-linux-gnueabihf-gcc-4.9
 </​code>​ </​code>​
-This is necessary because ​we work on the host and must make sure to choose ​the right cross compiler. ​You must install this compiler ​with+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.
 <​code>​ <​code>​
 $ sudo apt-get install g++-4.9-arm-linux-gnueabihf $ sudo apt-get install g++-4.9-arm-linux-gnueabihf
 </​code>​ </​code>​
-Now you can create ​the roboticscape library ​with+Then, the roboticscape library ​is compiled using make.
 <​code>​ <​code>​
 $ make $ make
 </​code>​ </​code>​
-(Maybe checkout Version v0.3.4, ?no header-files in master?) 
  
 Change back into your project directory and start the compilation of EEROS, the hardware wrapper library, and the application with Change back into your project directory and start the compilation of EEROS, the hardware wrapper library, and the application with
Zeile 43: Zeile 52:
 </​code>​ </​code>​
  
-Finally, load the executables ​onto the target with+Finally, load the executable ​onto the target ​(see notes below if you are doing this on a brand new board) ​with
 <​code>​ <​code>​
 $ ./deploy.sh $ ./deploy.sh
 </​code>​ </​code>​
-The password is "ntb". Edit the ''​deploy.txt''​ file to define which files must be downloaded. \\ +The default ​password ​on the BeagleBone Blue Board is "temppwd". Edit the ''​deploy.txt''​ file to define which files are downloaded. \\ 
-ssh into the target and change into ''/​opt/​eeros/​bin''​.+Use ssh to get on the target and change into ''/​opt/​eeros/​bin''​.
 Start the demo application with  Start the demo application with 
 <​code>​ <​code>​
Zeile 54: Zeile 63:
 </​code>​ </​code>​
  
-===== Setup BeagleBoneBlue for EEROS =====+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:​ 
 +<​code>​ 
 +debian@beaglebone:​$ sudo mkdir /​opt/​eeros 
 +debian@beaglebone:​$ sudo chown debian:​debian /​opt/​eeros/​ 
 +</​code>​ 
 + 
 +Also, some links must be created. The system must find the eeros libraries to dynamically load them. The following symbolic links are needed: 
 +<​code>​ 
 +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 
 +</​code>​ 
 +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: Check if there is already a RT-Kernel:
 <​code>​ <​code>​