Compiling Bela projects in Eclipse » History » Version 17
Giulio Moro, 2015-07-17 11:24 PM
1 | 11 | Giulio Moro | h1. Compiling BeagleRT projects in Eclipse |
---|---|---|---|
2 | 1 | Andrew McPherson | |
3 | 1 | Andrew McPherson | This document contains information on how to compile the BeagleRT software and upload it onto the BeagleBone Black. |
4 | 1 | Andrew McPherson | |
5 | 1 | Andrew McPherson | h2. Required tools |
6 | 1 | Andrew McPherson | |
7 | 3 | Andrew McPherson | This document assumes you have the following tools installed: |
8 | 3 | Andrew McPherson | |
9 | 12 | Giulio Moro | h3. On Linux |
10 | 1 | Andrew McPherson | * Working Linux system, either running natively or on a virtual machine |
11 | 3 | Andrew McPherson | * Mercurial version control system (http://mercurial.selenic.com). Available as a package in most Linux distributions. |
12 | 1 | Andrew McPherson | * arm-gcc hardfp compiler toolchain (i.e. @arm-linux-gnueabihf-gcc@ and similar. On Ubuntu, these can be installed from packages: |
13 | 1 | Andrew McPherson | <pre> |
14 | 1 | Andrew McPherson | sudo apt-get install gcc-arm-linux-gnueabihf |
15 | 1 | Andrew McPherson | sudo apt-get install g++-arm-linux-gnueabihf |
16 | 2 | Andrew McPherson | </pre> |
17 | 1 | Andrew McPherson | * Eclipse IDE (http://www.eclipse.org), including the C/C++ development tools |
18 | 12 | Giulio Moro | * Xenomai libraries compiled for ARM hardfp _(details to come)_ ( you can probably do something similar to what described below for MacOS, make sure you use the appropriate paths, which might differ from the ones below) |
19 | 12 | Giulio Moro | |
20 | 12 | Giulio Moro | h3. On a 64bit MacOS X |
21 | 12 | Giulio Moro | |
22 | 13 | Giulio Moro | *You can get the arm cross-compiler toolchain from here http://www.welzels.de/blog/projekte/arm-cross-toolchain/, which will place the binaries into your /usr/local/linaro/arm-linux-gnueabihf/bin/ folder |
23 | 13 | Giulio Moro | *xenomai libraries and include files are already on the BBB's SD card. You can copy them over to your machine as follows: |
24 | 12 | Giulio Moro | |
25 | 12 | Giulio Moro | <pre> |
26 | 12 | Giulio Moro | cd ~ |
27 | 12 | Giulio Moro | ssh root@192.168.7.2 "cd /usr/; tar -zcvf ~/xenomai.tar.gz xenomai" |
28 | 12 | Giulio Moro | rsync -avz --remove-source-files bbb:xenomai.tar.gz . |
29 | 12 | Giulio Moro | cd /usr/local/linaro/arm-linux-gnueabihf/include/ |
30 | 12 | Giulio Moro | sudo tar -xvf ~/xenomai.tar.gz |
31 | 1 | Andrew McPherson | sudo rm xenomai.tar.gz |
32 | 1 | Andrew McPherson | </pre> |
33 | 1 | Andrew McPherson | |
34 | 14 | Giulio Moro | *Make sure that the following line is in your Eclipse project's includes |
35 | 13 | Giulio Moro | <pre>/usr/arm-linux-gnueabihf/include/xenomai/include</pre> |
36 | 14 | Giulio Moro | and the following line is in your Eclipse project's libraries search path |
37 | 13 | Giulio Moro | <pre>/usr/local/linaro/arm-linux-gnueabihf/include/xenomai/lib/</pre> |
38 | 13 | Giulio Moro | |
39 | 13 | Giulio Moro | h3. Other operating systems |
40 | 15 | Giulio Moro | |
41 | 15 | Giulio Moro | Find your own way and share it here or use the VirtualBox image provided [ask for link]. |
42 | 16 | Giulio Moro | Or compile on the board: [[ Compiling projects with BeagleRT on the board]] |
43 | 3 | Andrew McPherson | |
44 | 3 | Andrew McPherson | h2. Getting started |
45 | 3 | Andrew McPherson | |
46 | 17 | Giulio Moro | # Make sure you own a copy of the BeagleRT files, if you do not already: |
47 | 3 | Andrew McPherson | <pre> |
48 | 3 | Andrew McPherson | hg clone https://code.soundsoftware.ac.uk/hg/beaglert |
49 | 3 | Andrew McPherson | </pre> |
50 | 3 | Andrew McPherson | # Launch Eclipse and select a workspace (creating one if necessary). |
51 | 4 | Andrew McPherson | # In the Eclipse menu bar, choose _File -> Import..._. Within the dialog box that appears, choose _General -> Existing Projects into Workspace_. Click _Next_. |
52 | 4 | Andrew McPherson | # Click the button _Select root directory_ and choose the path to the BeagleRT repository you just cloned. |
53 | 1 | Andrew McPherson | # Make sure the @BeagleRT@ project is selected, and under Options, untick _Copy projects into workspace_. Click _Finish_ to complete the project import. |
54 | 6 | Andrew McPherson | |
55 | 6 | Andrew McPherson | h2. Compiling the BeagleRT project |
56 | 6 | Andrew McPherson | |
57 | 6 | Andrew McPherson | # In Eclipse, right-click on the @BeagleRT@ project folder in the left-hand column, and choose _Build Project_. (If you don't see the list of projects, make sure the C/C++ Perspective is active in Eclipse, and choose _Window -> Show View -> Project Explorer_.) |
58 | 6 | Andrew McPherson | # The project should compile without errors, and the results should be visible in the Console tab (typically in the bottom pane of the window) |
59 | 6 | Andrew McPherson | # If any errors arise, check that you have all the dependencies installed, both header files and libraries. |
60 | 6 | Andrew McPherson | |
61 | 6 | Andrew McPherson | h2. Copying BeagleRT projects to the BeagleBone Black |
62 | 1 | Andrew McPherson | |
63 | 17 | Giulio Moro | Once the project has compiled, Eclipse should automatically copy it over to the Beaglebone in the ~/beaglert folder, prompting you twice for the password in case you did not set up the ssh keys. |
64 | 17 | Giulio Moro | If the project is not copied automatically: |
65 | 17 | Giulio Moro | # open a terminal window and @cd@ to the directory where the binary was compiled. For example, if you installed BeagleRT in your home directory: @cd ~/BeagleRT/Release@ |
66 | 7 | Andrew McPherson | # Copy the BeagleRT executable to the BeagleBone Black using @scp@ (entering your BeagleBone Black password when prompted; you may need to create the @beaglert@ directory first): |
67 | 7 | Andrew McPherson | <pre> |
68 | 7 | Andrew McPherson | scp BeagleRT root@192.168.7.2:~/beaglert/ |
69 | 6 | Andrew McPherson | </pre> |
70 | 9 | Andrew McPherson | |
71 | 9 | Andrew McPherson | h2. Selecting different BeagleRT examples within the Eclipse project |
72 | 9 | Andrew McPherson | |
73 | 9 | Andrew McPherson | The Eclipse project contains several examples within the @projects@ directory. Follow these steps to choose which one to compile: |
74 | 9 | Andrew McPherson | |
75 | 9 | Andrew McPherson | # Only one of the folders within @projects@ should be enabled at a time. This one will be in solid black text; the remainder will be grey. |
76 | 9 | Andrew McPherson | # Right-click on the folder which is currently enabled (solid black). Choose _Resource Configurations -> Exclude from Build..._ |
77 | 9 | Andrew McPherson | # Click _Select All_ to disable the code in this folder. Click _OK_. |
78 | 9 | Andrew McPherson | # Now right-click on the folder which you want to enable. Choose _Resource Configurations -> Exclude from Build..._ |
79 | 9 | Andrew McPherson | # Click _Deselect All_ to enable the code in this folder. Click _OK_. |
80 | 10 | Andrew McPherson | |
81 | 10 | Andrew McPherson | h2. Creating a new executable within the BeagleRT project |
82 | 10 | Andrew McPherson | |
83 | 10 | Andrew McPherson | Duplicate one of the existing project folders using the following steps: |
84 | 10 | Andrew McPherson | |
85 | 10 | Andrew McPherson | # Right-click the project folder you want to duplicate and select _Copy_. |
86 | 10 | Andrew McPherson | # Right-click on the @projects@ folder and select _Paste_. It will ask you to type in a new name. |
87 | 10 | Andrew McPherson | # Follow the steps above (_Resource Configurations_) to enable compiling this new project rather than any of the others. |