Difference between revisions of "Configuring EMAC OE 4.0 SDK"

From wiki.emacinc.com
Jump to: navigation, search
Line 1: Line 1:
{{todo|Fix and finish|Michael Gloff|project=oe 4,Revise, mg}}
+
{{todo|Fix and finish|Michael Gloff|project=oe 4,Review, mg}}
  
==SDK Configuration Script==
+
==SDK Configuration==
  
 
Before compiling source code on the development machine for the target machine, the toolchain libraries for the target machine must be specified.
 
Before compiling source code on the development machine for the target machine, the toolchain libraries for the target machine must be specified.
Line 16: Line 16:
 
developer@ldc:~$ ./setmachine.sh
 
developer@ldc:~$ ./setmachine.sh
 
</syntaxhighlight>
 
</syntaxhighlight>
* Select the appropriate target machine type
+
 
</cl>
 
 
<br />
 
<br />
  
 
:::::[[File:Emac_oe_sdk_setup-2.png]]
 
:::::[[File:Emac_oe_sdk_setup-2.png]]
 +
:::::::::: Figure 1. SDK Machine Selection Dialog
 +
 +
<br />
 +
* Select the appropriate target machine type and press enter <br />
 +
The following should be displayed
 +
</cl>
 +
<syntaxhighlight lang=console>
 +
INFO: Generating new default configuration file.
 +
INFO: Using "./.emac_sdk.conf" as configuration file.
 +
INFO: Using hardware configuration file:
 +
      =>  EMHW_CONF = "/home/developer/EMAC-OE-arm-linux-gnueabi-SDK_4.0/.emac_hw.conf"
 +
INFO:
 +
INFO: ################################################
 +
INFO: ##  Compiler chosen is gcc 4.3.1
 +
INFO: ##  Hardware chosen is Arm v7a
 +
INFO: ################################################
 +
INFO:
 +
INFO: Setting qt name:
 +
      =>  QTNAME = "qt4"
 +
INFO: Chose qmake version:
 +
      =>  QMAKEWORKAROUND = "/home/developer/EMAC-OE-arm-linux-gnueabi-SDK_4.0/qmake_workaround/qmake32"
 +
INFO: update_target_root: need to recreate target_root symlink
 +
Setup complete!
 +
developer@EMAC-LDC-32bit:~/EMAC-OE-arm-linux-gnueabi-SDK_4.0$
 +
</syntaxhighlight>
 +
  
 
==Remote Upload Set-up==
 
==Remote Upload Set-up==
  
The global.properties file contains the fields necessary to contact and connect to the target board as well as the architecture specific build paths.
+
The global.properties file contains the fields necessary to contact and connect to the target board as well as the paths to the architecture specific libraries.
 
<cl>
 
<cl>
 
1. Obtain the target machine's current IP address by issuing the following command from a shell on the target system:
 
1. Obtain the target machine's current IP address by issuing the following command from a shell on the target system:
Line 30: Line 55:
 
root@emac-oe:~# /sbin/ifconfig eth0 | grep inet
 
root@emac-oe:~# /sbin/ifconfig eth0 | grep inet
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
{{mbox | type=information | text = For more information on how to connect to the remote system, see the [[ EMAC_OE_Getting_Started_Guide#Initial_Connections | '''initial connections''' ]] section of the [[EMAC OE Getting Started Guide | '''Getting Started Guide''']].}}
  
 
* Navigate to the projects directory within the SDK.
 
* Navigate to the projects directory within the SDK.
Line 36: Line 63:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
* Open the global.properties file with a text editor such as vi.
+
* Open the global.properties file with a text editor such as vi or gedit.
 
+
<br />
* The global.properties parameters are shown in Table 1 below.
+
The global.properties parameters are shown in Table 1 below.
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 62: Line 89:
 
| WPUT ||  The location of the <code>wput</code> command, along with options to pass to <code>wput</code>.
 
| WPUT ||  The location of the <code>wput</code> command, along with options to pass to <code>wput</code>.
 
|}
 
|}
 +
:::::::::::::Table 1. global.properties file contents
 +
<br />
 +
* Modify the TARGET_IP, LOGIN, and PASSWORD as necessary
 +
* Save and close the file
 +
</cl>
  
 +
{{mbox | type = warning | text =The password is stored in plain text in this file. If development is taking place in a shared environment (such as a University lab) and secrecy of this password is required, simply ensure that only trusted users have read permission for this file. See Linux manual pages documentation for the chmod, chgrp, and chown commands. The user building the software will need read access to any file associated with the build.}}
  
For more information on how to connect to the remote system, see the [[ EMAC_OE_Getting_Started_Guide#Initial_Connections | '''initial connections''' ]] of the [[EMAC OE Getting Started Guide | '''Getting Started Guide''']].
 
 
</cl>
 
 
{{mbox | type = warning | text = The password is stored in plain text in this file. If development is taking place in a shared environment (such as a University lab) and secrecy of this password is required, simply ensure that only trusted users have read permission for this file. See Linux manual pages documentation for the <code>chmod</code>, <code>chgrp</code>, and <code>chown</code> commands. The user building the software will need read access to any file associated with the build.}}
 
  
 
==See Also==
 
==See Also==

Revision as of 19:32, 17 October 2013

TODO: {{#todo:Fix and finish|Michael Gloff|oe 4,Review, mg}}

SDK Configuration

Before compiling source code on the development machine for the target machine, the toolchain libraries for the target machine must be specified.

  1. Open a terminal window

  2. Navigate to the SDK directory.

    developer@ldc:~$ cd /path/to/sdk/EMAC-OE-arm-linux-gnueabi-SDK_XX.YY/
    
  3. Run the script using the command shown below to produce a menu as shown in Figure 1.

    developer@ldc:~$ ./setmachine.sh
    


    Emac oe sdk setup-2.png
    Figure 1. SDK Machine Selection Dialog


  4. Select the appropriate target machine type and press enter
    The following should be displayed

INFO: Generating new default configuration file.
INFO: Using "./.emac_sdk.conf" as configuration file.
INFO: Using hardware configuration file:
      =>  EMHW_CONF = "/home/developer/EMAC-OE-arm-linux-gnueabi-SDK_4.0/.emac_hw.conf"
INFO: 
INFO: ################################################
INFO: ##  Compiler chosen is gcc 4.3.1
INFO: ##  Hardware chosen is Arm v7a
INFO: ################################################
INFO: 
INFO: Setting qt name:
      =>  QTNAME = "qt4"
INFO: Chose qmake version:
      =>  QMAKEWORKAROUND = "/home/developer/EMAC-OE-arm-linux-gnueabi-SDK_4.0/qmake_workaround/qmake32"
INFO: update_target_root: need to recreate target_root symlink
Setup complete!
developer@EMAC-LDC-32bit:~/EMAC-OE-arm-linux-gnueabi-SDK_4.0$


Remote Upload Set-up

The global.properties file contains the fields necessary to contact and connect to the target board as well as the paths to the architecture specific libraries.

  1. Obtain the target machine's current IP address by issuing the following command from a shell on the target system:

    root@emac-oe:~# /sbin/ifconfig eth0 | grep inet
    
  2. Navigate to the projects directory within the SDK.

    developer@ldc:~$ cd /path/to/sdk/EMAC-OE-arm-linux-gnueabi-SDK_XX.YY/projects
    
  3. Open the global.properties file with a text editor such as vi or gedit.
    The global.properties parameters are shown in Table 1 below.

    Configuration variable Description
    SDKBASE The base directory for the SDK.
    CC, CXX Exectuable binaries to use for compiling for the C and C++ compiler, respectively.
    LD_LIBRARY_PATH The path the linker should use to search for shared library files.
    CFLAGS The flags passed to the compiler to specify target processor architecture, debugging flags, etc.
    OFLAGS The flags passed to the compiler to specify optimization options to use.
    TARGET_IP The IP Address of the target machine (needed for uploading the compiled binary to the target machine).
    LOGIN The user name to use for logging into the target machine.
    PASSWORD The password to use for logging into the target machine.*
    WPUT The location of the wput command, along with options to pass to wput.
    Table 1. global.properties file contents


  4. Modify the TARGET_IP, LOGIN, and PASSWORD as necessary

  5. Save and close the file


See Also