This is an old revision of the document!
Eclipse IDE
The installation of the Eclipse IDE and its configuration for software development on the TQ-modules is described on this page.
Used versions:
- Ubuntu 10.04
- Ubuntu 11.04
- Eclipse Indigo
- CDT 8.0
- TQMa28 with i.MX28 (ARM9)
- TQMa35 with i.MX35 (ARM11)
- LTIB 9.1.1
- ELDK 4.2
Installation
Download complete package
In the repositories Ubuntu 10.04 provides the Eclipse Galileo. The version of CDT for Eclipse Galileo is 6.0.2, this does not yet support features for cross-compiling. For Ubuntu 10.04 we get the packed version of Eclipse Indigo with CDT 8.0. These and possibly newer ones are available at the following download page:
http://www.Eclipse.org/cdt/downloads.php
If you follow on this page the link to the desired Eclipse package (Eclipse CDT 8.0 for Indigo), there is a download link for the different architectures in the right column.
Alternatively, you can directly go to http://www.Eclipse.org/downloads/. There you will find the same overview of available packages. After selecting “Linux” on top right, you can download the package
The wrong compiler was chosen if the host architecture (e.g. x86) is stated instead of “arm”. See also
fehlender Link fehlender Link fehlender Link
===== Cross compiling with Eclipse =====
In Eclipse a project can be compiled for a different platform. Therefore a call of the target-specific compiler is required. Using the C compiler that comes with the package LTIB, the necessary settings in Eclipse are illustrated here. For this example, this is GCC 4.3.3.
1. Note the path to the compiler:
/opt/freescale/usr/local/gcc-4.3.3-glibc-2.8-cs2009q1-203/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc
2. Open properties of an Eclipse project (right click on the project in Project Explorer → Properties) and note the configuration shown above.
3. Click on Settings
under C/C++ Build
and mark GCC C Ccompiler
at Tool Settings
.
4. Change the command gcc
to
/opt/freescale/usr/local/gcc-4.3.3-glibc-2.8-cs2009q1-203/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc
5. Now the include directory of the target Linux has to be given to Eclipse to compile. For this purpose expand GCC C Compiler
and select the entry includes
.
6. Add /opt/ltib/src/kernel/linux-2.6-denx/include
.
7. Repeat step 4 for the GCC Linker
.
8. Click on Libraries under the GCC Linker
.
9. Add the directories /opt/ltib/rootfs/lib
and /opt/ltib/rootfs/usr/lib
to the Library search path(-L)
.
10. Repeat step 4 for the GCC Assembler
, but with the command
/opt/freescale/usr/local/gcc-4.3.3-glibc-2.8-cs2009q1-203/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-as
11. Open the tab Binary Parsers
, deselect the Elf Parser and select the GNU Elf Parser.
12. Change its addr2line Command
to
/opt/freescale/usr/local/gcc-4.3.3-glibc-2.8-cs2009q1-203/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-addr2line
13. Change its c++filt Command
to
/opt/freescale/usr/local/gcc-4.3.3-glibc-2.8-cs2009q1-203/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-c++filt
14. Apply changes with Apply and OK.
Now the project for the target hardware is built in the chosen configuration. To copy the created binary to the RootFS the following has to be done:
In the project properties click on Build Steps
under C/C++ Build → Settings
and enter the following command at the Post-build steps
:
cp /<workspace>/<project>/<Configuration>/<output binary> /opt/ltib/rootfs/home/<user>/
Copying directly into LTIB RootFS only works if the user rights of Eclipse permit to write to that location. The rights of the target directory must be set accordingly before, if necessary.
===== Demo project =====
hello_world.zip
A “Hello World” demo project was created. With a correctly installed and configured ELDK this project should compile with Eclipse and CDT.
To import the project simply select File > Import…
in the menu. Select Existing Projects into Workspace
in the wizard.
In the next form select the downloaded ZIP archive and complete the import with “Finish”.
Should there be problems when compiling, you can first run the build process on the console with a direct call of make
. It will then create an executable program.
===== Debugging ===== * Debugging with Eclipse, RSE and gdb * Debugging with Eclipse without RSE, but with gdb ===== Sources ===== * http://lists.denx.de/pipermail/eldk/2008-February/000079.html * http://cache.freescale.com/files/dsp/doc/app_note/AN3870.pdf * http://lwn.net/images/conf/rtlws11/papers/proc/p09.pdf * http://comments.gmane.org/gmane.comp.embedded.eldk/1 * http://wiki.Eclipse.org/CDT/User/FAQ