Configuring EMAC OE 4.0 SDK
Table 1: Conventions | |
---|---|
/download/directory/ |
Placeholder indicating the directory to which the SDK archive will be downloaded. |
/path/to/sdk/ |
Placeholder indicating the directory to which the SDK will be extracted. |
EMAC-OE-arm-linux-gnueabi-SDK_XX.YY.rZZ.tar.bz2 EMAC-OE-arm-linux-gnueabi-SDK_XX.YY
|
XX is the major version YY is the minor version ZZ is the current revision The major and minor version numbers will match the version of OE for which the SDK is created. |
When Eclipse generates a Makefile to use for building a project, the generated Makefile includes a file named global.properties before it performs any other steps. This file is located in the projects directory, which is the root directory for Eclipse projects. The projects directory is located within the EMAC SDK directory provided by the EMAC SDK package (or installed on the LDC).
The global.properties
file provides information needed to build projects and upload them to the target machine (the board supplied by EMAC). The following information is provided by this file:
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 .
|
*NOTE The password is stored in plain text in this file. However, read permission is required to view this password. In most development environments, this should not be an issue. 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.
Configuring permissions on files is a common source of problems for people new to doing so under Linux. EMAC does not recommend altering the default settings (which should be secure in most environments) unless absolutely necessary. EMAC will only be able to provide very limited support should these settings be manually configured. The standard Linux commands, chmod , chgrp , and chown are typically used to configure these permissions. Please see the documentation for these commands using the man command, or find a reference with your favorite search engine. Caveat: This will require any user wishing to build this software to have such permission, since programs run by a user can only read files the user is permitted to use. |
The global.properties
file is actually a type of virtual file, called a softlink. This softlink acts as a pointer which points to another file. The file it points to is chosen when the CPU architecture is chosen. To see why it works this way, see the above information about the flags specified for the processor architecture, and note that different library and compiler paths may be required to support different hardware. The softlink is updated when the hardware to use for the development project is selected.
Should problems relating to this part of the build system show up during the development process, these files or softlinks may have been accidentally modified. Inspecting these files and softlinks, and/or rerunning the hardware selection script, may provide the fix for the problems. The ln command with the -s option (see man ln ) is the command used to create softlinks. |
Configuration Steps
The following configuration steps are necessary to begin using the EMAC OE SDK.
Before cross-compiling source code on the development machine for the target machine:
- A set up script linking
global.properties
to an architecture-specificglobal.properties
file must be run. - The
TARGET_IP
variable in the global.properties file must be changed to the IP address or hostname belonging to the target board.
These configurations assume that the EMAC OE SDK is installed. |