Difference between revisions of "Using the EMAC OE SDK Projects with Eclipse"

From wiki.emacinc.com
Jump to: navigation, search
m (Reassigned)
Line 1: Line 1:
{{todo|Port this|Klint Youngmeyer|project=oe 4,oe 5,ky}}
+
{{todo|Port this (In Progress)|Klint Youngmeyer|project=oe 4,oe 5,ky}}
  
see http://wiki.emacinc.com/doku.php?id=linux:eclipse:example
+
<!--see http://wiki.emacinc.com/doku.php?id=linux:eclipse:example
  
 
SIE
 
SIE
Empty. Relevant old wiki page: New EMAC OE SDK Project Using Eclipse http://wiki.emacinc.com/doku.php?id=linux:eclipse:newproject
+
Empty. Relevant old wiki page: New EMAC OE SDK Project Using Eclipse http://wiki.emacinc.com/doku.php?id=linux:eclipse:newproject-->
 +
 
 +
The EMAC OE SDK is distributed with a set of example projects intended to demonstrate how to use the EMAC OE toolchain and libraries. This guide demonstrates the process of compiling one of the example projects and running it on the target machine using the Eclipse IDE. A basic familiarity with Eclipse is assumed for this guide. For a quick intro, see the [[First_Time_Starting_EMAC_Eclipse|First Time Starting EMAC Eclipse]].This guide uses the ''hello'' EMAC OE SDK example project. It consists of a C file and ''Makefile''.
 +
 
 +
==== Tools Required ====
 +
* GNU ''make''
 +
* EMAC OE SDK
 +
* ''wput''
 +
 
 +
<br />{{Fmbox | type =  | text ='''NOTE''' The required tools are preinstalled on the LDC.}}
 +
 
 +
 
 +
== EMAC SDK Example: Compile and Run the hello Project ==
 +
=== Setup ===
 +
# Modify ''global.properties'' according to the [[Remote_System_Explorer_Configuration_for_EMAC_Eclipse|SDK Remote Upload Setup]] to provide ''make'' with the correct user, password, and IP address for the ''upload'' target.
 +
# Create a [[Using_the_Eclipse_Terminal_View|remote terminal connection]]. This is necessary to use the Remote System Explorer's SSH Terminal feature in the following procedure.
 +
=== Building the Project ===
 +
This procedure provides an overview of how to compile and run C applications for EMAC products in Eclipse. It assumes familiarity with the C programming language and is not intended as a general guide on learning to program.
 +
# Click ''Window → Open Perspective → Other...'' To bring up a dialog window with a list of Perspectives to choose from.
 +
# Choose ''C/C++'' and click ''Ok''.<ref name="Note 1">See Note 1</ref>
 +
 
 +
==== Building With the Eclipse Managed Build System ====
 +
To build using Eclipse's managed build system, a project needs to be created from the Makefile-based project.  To do this, perform the following steps:
 +
# Select ''File->New->Makefile Project with Existing Code''
 +
# In the window that appears (as shown below), click the ''Browse...'' button.<br /><br />
 +
 
 +
[[File:Import existing code.png|Import Existing Code]]<br />
 +
<br />
 +
==== Choosing the Project ====
 +
# Navigate to the location of the project.  By default, this is under your home directory in <code>EMAC-OE-arm-linux-gnueabi-SDK_4.0/projects/hello</code>
 +
# The files listed in the directory will be greyed out, but this is to be expected: Eclipse is just looking for the root directory of the project you are importing.  Click the ''OK'' button.
 +
#Your ''Import'' window should now look similar to this:<br /><br />
 +
[[File:Import project hello.png|Import "Hello" Project]]<br /><br />
 +
Click the ''Finish'' button.You should now see the following in your ''Project Explorer'':<br /><br />
 +
[[File:Proj expl after hello import.png|Project Explorer after importing "Hello" project.]]<br /><br />
 +
The arrowhead to the left of ''hello'' indicates that the ''hello'' project is open.  Click on the arrowhead to see the files in the project.  Double click on the <code>hello.c</code> file to open it.  '''''Note''': This step is not necessary for building the project.''  Notice the arrowhead which appeared next to <code>hello.c</code>.  This indicates that the file is now open.<br /><br />
 +
 
 +
To build the project, ensure the project is highlighted in the ''Project Explorer'' treeview in the left pane, then select ''Project->Build Project''.  The project will now build, and your window should appear similar to the screenshot below:<br /><br />
 +
 
 +
[[File:Eclipse hello project built.png|Eclipse window after building the "Hello" example project.]]<br /><br />
 +
 
 +
 
 +
If there are any build errors, they will be shown in the ''Console'' and/or ''Problems'' tabs on the bottom.<br /><br />
 +
 
 +
== EMAC SDK with Qt Example: Compile and Run the <code>textedit</code> Project ==
 +
=== Importing the Project ===
 +
 
 +
This procedure provides an overview of how to compile and run Qt C++ applications for EMAC products in Eclipse. It assumes familiarity with the C++ programming language and is not intended as a general guide on learning to program, learning C++, or learning Qt.
 +
 
 +
#Click ''Window → Open Perspective → Other...'' To bring up a dialog window with a list of Perspectives to choose from.
 +
#Choose ''Qt C++'' and click ''Ok''.
 +
 
 +
==== Building With the Eclipse Managed Build System ====
 +
 
 +
To build using Eclipse's managed build system, the project needs to be imported using its ''.pro'' project file.  To do this, perform the following steps:
 +
 
 +
{{Fmbox | type =  | text =**NOTE**: The first project which must be imported and built is the ''shared'' project.  The rest of the examples in the ''projects/qt_demos'' directory depend on the ''shared'' project.  Once it has been built, it is safe to close the project and/or remove the project from Eclipse (just be sure to not remove it from disk).}}<br />
 +
 
 +
# In the ''Project Explorer'' treeview control on the left side of the screen, make sure nothing is selected (click in a blank area, if necessary), put the mouse cursor in a blank area and right click.  From the context menu which appears, select, ''Import...''  <br /><br />[[File:Eclipse import project context selected.png|Importing a project into Eclipse]]<br /><br />
 +
# In the window that appears (as shown below), make sure ''Qt Project'' is selected from the ''Qt'' entry in the treeview. <br /><br />[[File:Eclipse_import_project_step1.png|Selecting Qt Project as the project type]] <br /><br />
 +
# Click ''Next >'', then click the ''Browse...'' button and navigate to the <code>projects/qt_demos/textedit</code> directory underneath the install location of your EMAC OE Qt SDK. <br /><br />[[File:Eclipse_import_project_step2.png|Choosing the Qt project to import]] <br /><br />
 +
# Highlight the ''.pro'' file, as shown above, and click ''OK''.
 +
#Click ''Finish''. <br /><br />
 +
 
 +
=== Building the Project ===
 +
 
 +
You should now see the following in your ''Project Explorer'':<br />
 +
<br />[[File:Eclipse_textedit_project_selected.png|Project Explorer after importing <code>textedit</code> project.]]<br />
 +
<br />The arrowhead to the left of ''textedit'' indicates that the ''textedit'' project is open.  Click on the arrowhead to see the files in the project.  Double click on the <code>textedit.cpp</code> file to open it.  '''''Note''': This step is not necessary for building the project.''  Notice the arrowhead which appears next to <code>textedit.cpp</code>.  This can be used to see a list of classes and functions available within this source file.<br />
 +
<br />To build the project, ensure the project is highlighted in the ''Project Explorer'' treeview in the left pane, then select ''Project→Run qmake''.  Now, select ''Project→Build Project''.  The project will now build, and your window should appear similar to the screenshot below:<br />
 +
<br />[[File:Eclipse_qt_build_textedit_finished.png|Eclipse window after building the <code>textedit</code> example project.]]<br />
 +
<br />If there are any build errors, they will be shown in the ''Console'' and/or ''Problems'' tabs on the bottom.<br />
 +
<br />
 +
 
 +
=== Building With Make Targets ===
 +
 
 +
# Select the ''Make Targets'' View.
 +
# Expand ''EMAC-OE-arm-linux-gnueabi-SDK_4.0 → projects → hello''.<ref name="Note 2">See Note 2</ref>
 +
# Cross-compile the program:<br >Click on the project you're building in the left pane to '''ensure it is highlighted in blue'''. The result is shown in Figure 1 below.  Now click on ''Project→Build Project''.<br />[[File:Eclipse_make_hello.png|Figure 1]]<br />'''Figure 1: Build Project'''<br /> The project to be built '''must''' be hilighted in the left pane, as shown in Figure 1, before you click ''Project→Build Project'' to compile the hello example project (this is true any time you build a project).  ''Build Project'' will perform an incremental build of the currently selected project.  Choosing ''Project→Clean...'' before choosing ''Project→Build Project'' will perform a full rebuild of the project.  The method used to determine what to build during an incremental build can be found here: [http://www.gnu.org/software/make/manual/make.html GNU 'make' Manual].
 +
 
 +
<br />{{Fmbox | type =  | text ='''Note 1''': If you have the Qt SDK, you will need to choose ''Qt C++'' instead to work with Qt projects.  For this first example, though, the ''C/C++'' perspective is the correct one to use with the example program demonstrated here.}}
 +
 
 +
{{Fmbox | type =  | text ='''Note 2''': If you are unable to expand ''EMAC-OE-arm-linux-gnueabi-SDK_4.0'', right-click on it and choose, ''Open Project''.  This should then cause an arrowhead to appear to the left of ''EMAC-OE-arm-linux-gnueabi-SDK_4.0''.  Click the arrowhead to expand it.  This feature allows you to only keep the project you're currently working on open so that metadata for all your projects is not allocated in RAM.<br /><br /> '''To close a project''' you're not actively working on, right click on the project and click, ''Close Project''.  More conveniently, to close all projects other than the one you are currently working on, right-click on your current project, and click, ''Close Unrelated Projects''.}}
 +
 
 +
=== Uploading the Project to the Target Machine ===
 +
 
 +
 
 +
 
 +
 
 +
<references />

Revision as of 17:27, 14 October 2013

TODO: {{#todo:Port this (In Progress)|Klint Youngmeyer|oe 4,oe 5,ky}}


The EMAC OE SDK is distributed with a set of example projects intended to demonstrate how to use the EMAC OE toolchain and libraries. This guide demonstrates the process of compiling one of the example projects and running it on the target machine using the Eclipse IDE. A basic familiarity with Eclipse is assumed for this guide. For a quick intro, see the First Time Starting EMAC Eclipse.This guide uses the hello EMAC OE SDK example project. It consists of a C file and Makefile.

Tools Required

  • GNU make
  • EMAC OE SDK
  • wput



EMAC SDK Example: Compile and Run the hello Project

Setup

  1. Modify global.properties according to the SDK Remote Upload Setup to provide make with the correct user, password, and IP address for the upload target.
  2. Create a remote terminal connection. This is necessary to use the Remote System Explorer's SSH Terminal feature in the following procedure.

Building the Project

This procedure provides an overview of how to compile and run C applications for EMAC products in Eclipse. It assumes familiarity with the C programming language and is not intended as a general guide on learning to program.

  1. Click Window → Open Perspective → Other... To bring up a dialog window with a list of Perspectives to choose from.
  2. Choose C/C++ and click Ok.[1]

Building With the Eclipse Managed Build System

To build using Eclipse's managed build system, a project needs to be created from the Makefile-based project. To do this, perform the following steps:

  1. Select File->New->Makefile Project with Existing Code
  2. In the window that appears (as shown below), click the Browse... button.

Import Existing Code

Choosing the Project

  1. Navigate to the location of the project. By default, this is under your home directory in EMAC-OE-arm-linux-gnueabi-SDK_4.0/projects/hello
  2. The files listed in the directory will be greyed out, but this is to be expected: Eclipse is just looking for the root directory of the project you are importing. Click the OK button.
  3. Your Import window should now look similar to this:

Import "Hello" Project

Click the Finish button.You should now see the following in your Project Explorer:

Project Explorer after importing "Hello" project.

The arrowhead to the left of hello indicates that the hello project is open. Click on the arrowhead to see the files in the project. Double click on the hello.c file to open it. Note: This step is not necessary for building the project. Notice the arrowhead which appeared next to hello.c. This indicates that the file is now open.

To build the project, ensure the project is highlighted in the Project Explorer treeview in the left pane, then select Project->Build Project. The project will now build, and your window should appear similar to the screenshot below:

Eclipse window after building the "Hello" example project.


If there are any build errors, they will be shown in the Console and/or Problems tabs on the bottom.

EMAC SDK with Qt Example: Compile and Run the textedit Project

Importing the Project

This procedure provides an overview of how to compile and run Qt C++ applications for EMAC products in Eclipse. It assumes familiarity with the C++ programming language and is not intended as a general guide on learning to program, learning C++, or learning Qt.

  1. Click Window → Open Perspective → Other... To bring up a dialog window with a list of Perspectives to choose from.
  2. Choose Qt C++ and click Ok.

Building With the Eclipse Managed Build System

To build using Eclipse's managed build system, the project needs to be imported using its .pro project file. To do this, perform the following steps:


  1. In the Project Explorer treeview control on the left side of the screen, make sure nothing is selected (click in a blank area, if necessary), put the mouse cursor in a blank area and right click. From the context menu which appears, select, Import...

    Importing a project into Eclipse

  2. In the window that appears (as shown below), make sure Qt Project is selected from the Qt entry in the treeview.

    Selecting Qt Project as the project type

  3. Click Next >, then click the Browse... button and navigate to the projects/qt_demos/textedit directory underneath the install location of your EMAC OE Qt SDK.

    Choosing the Qt project to import

  4. Highlight the .pro file, as shown above, and click OK.
  5. Click Finish.

Building the Project

You should now see the following in your Project Explorer:

Project Explorer after importing textedit project.

The arrowhead to the left of textedit indicates that the textedit project is open. Click on the arrowhead to see the files in the project. Double click on the textedit.cpp file to open it. Note: This step is not necessary for building the project. Notice the arrowhead which appears next to textedit.cpp. This can be used to see a list of classes and functions available within this source file.

To build the project, ensure the project is highlighted in the Project Explorer treeview in the left pane, then select Project→Run qmake. Now, select Project→Build Project. The project will now build, and your window should appear similar to the screenshot below:

Eclipse window after building the textedit example project.

If there are any build errors, they will be shown in the Console and/or Problems tabs on the bottom.

Building With Make Targets

  1. Select the Make Targets View.
  2. Expand EMAC-OE-arm-linux-gnueabi-SDK_4.0 → projects → hello.[2]
  3. Cross-compile the program:
    Click on the project you're building in the left pane to ensure it is highlighted in blue. The result is shown in Figure 1 below. Now click on Project→Build Project.
    Figure 1
    Figure 1: Build Project
    The project to be built must be hilighted in the left pane, as shown in Figure 1, before you click Project→Build Project to compile the hello example project (this is true any time you build a project). Build Project will perform an incremental build of the currently selected project. Choosing Project→Clean... before choosing Project→Build Project will perform a full rebuild of the project. The method used to determine what to build during an incremental build can be found here: GNU 'make' Manual.


Uploading the Project to the Target Machine

  1. See Note 1
  2. See Note 2