Compiling Bela projects in Eclipse » History » Version 13
Giulio Moro, 2015-07-15 10:03 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 | 13 | Giulio Moro | *Make sure that the following line is in your Eclipse project includes |
35 | 13 | Giulio Moro | <pre>/usr/arm-linux-gnueabihf/include/xenomai/include</pre> |
36 | 12 | Giulio Moro | and the following line is in your Eclipse projectlibraries 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 | 13 | Giulio Moro | Find your own way or use the VirtualBox image provided [ask for link]. |
41 | 3 | Andrew McPherson | |
42 | 3 | Andrew McPherson | h2. Getting started |
43 | 3 | Andrew McPherson | |
44 | 3 | Andrew McPherson | # Clone the BeagleRT files from the repository: |
45 | 3 | Andrew McPherson | <pre> |
46 | 3 | Andrew McPherson | hg clone https://code.soundsoftware.ac.uk/hg/beaglert |
47 | 3 | Andrew McPherson | </pre> |
48 | 3 | Andrew McPherson | # Launch Eclipse and select a workspace (creating one if necessary). |
49 | 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_. |
50 | 4 | Andrew McPherson | # Click the button _Select root directory_ and choose the path to the BeagleRT repository you just cloned. |
51 | 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. |
52 | 6 | Andrew McPherson | |
53 | 6 | Andrew McPherson | h2. Compiling the BeagleRT project |
54 | 6 | Andrew McPherson | |
55 | 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_.) |
56 | 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) |
57 | 6 | Andrew McPherson | # If any errors arise, check that you have all the dependencies installed, both header files and libraries. |
58 | 6 | Andrew McPherson | |
59 | 6 | Andrew McPherson | h2. Copying BeagleRT projects to the BeagleBone Black |
60 | 6 | Andrew McPherson | |
61 | 6 | Andrew McPherson | # Once the project has compiled, 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@ |
62 | 8 | 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): |
63 | 6 | Andrew McPherson | <pre> |
64 | 1 | Andrew McPherson | scp BeagleRT root@192.168.7.2:~/beaglert/ |
65 | 7 | Andrew McPherson | </pre> |
66 | 7 | Andrew McPherson | # The first time you install BeagleRT, you also need to copy the @pru_rtaudio.bin@ file to the BeagleBone Black. This can be found at the top level of the BeagleRT repository, and it should be copied to the same directory on the BeagleBone where the BeagleRT executable is located: |
67 | 7 | Andrew McPherson | <pre> |
68 | 7 | Andrew McPherson | scp pru_rtaudio.bin 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. |