Copyright: Copyright © 1997, 1998 , 2000 ARM Limited. ARM Project Manager Version 2.51
Citation: Copyright © 1997, 1998, 2000 ARM Limited.  ARM, the ARM Powered logo andThumb are registered trademarks of ARM Ltd. Windows 95 is a registered trademark of Microsoft Corporation. All other products or services mentioned herein may be trademarks of their respective owners. Neither the whole nor any part of the information, programs or products contained in or described in this document may be adapted or reproduced in any material form except with the prior written permission of the copyright holder. The products and programs described in this document are subject to continuous development and improvements.  All particulars of the products and their use contained in this document are given by ARM in good faith.  However, all warranties implied or expressed, including but not limited to implied warranties or merchantability, or fitness for purpose, are excluded. This document is intended only to assist the reader in the use of the product. ARM Ltd shall not be liable for any loss or damage arising from the use of any information in this document, or any error or omission in such information, or any incorrect use of the product or programs.


APM Dialog
APM Dialogs

Add Variant Dialog

APM Preferences Dialog

Build Variants Dialog

Choose Tool DLL Dialog

Confirm Delete Message Box

Confirm Action on Multiple Files Dialog

Create a New Build Step Pattern Dialog

Edit Paths Dialog

Edit Template Details Dialog

Edit Build Step Pattern Dialog

Edit Variables Dialog

Editor Preferences Dialog

Failed to Locate the Tool Dialog

Files Matched Multiple Partitions Dialog

New File or Project Dialog

New Project Dialog

Project Template Editor Dialog

Tool Configuration Dialog

Unable to Add Files Message Box

Viewing Dialog


APM Preferences Dialog

Use this dialog to select the options that control how APM behaves. An item is check-marked when selected.

Force overwriting of existing project files	If selected, when you create a new project with an existing file name, the original project file is overwritten without a request for confirmation.
Save changed files quietly	If selected, changed files are saved without prompting when the project is closed.
Continue building even if errors are found	If not selected, the build stops on the first error. If selected, the build continues, ignoring files that depend on erroneous components.
Retain partition selection after adding files	The partition a file was last added to retains the focus for the next file addition. This is useful when a file type can be stored in more than one partition.
Build also builds sub-projects	If selected, all files in all sub-projects are checked and built as necessary to bring the project up-to-date.
Force Build also force builds sub-projects	If selected, a Force Build also builds sub-projects.
Create New Projects from Templates found in	Sets the location of the project template definitions. The default is the Template directory off the main ARM installation directory.
Echo command lines verbosely	If selected, command lines that invoke tools are echoed in full in the build log.
OK	Click to apply your changes and exit the dialog.
Cancel	Click to return to the original settings and exit the dialog.
Accessed by selecting APM from the Tools menu.


APM Shortcut Keys

Note:	If an action is enabled and it has a corresponding toolbar button, the tooltip for the button states the keyboard shortcut. To display a tooltip, rest the pointer over the button.

Basic editing...	Press
Copy	Ctrl+C
Cut	Ctrl+X
Delete	Delete
Paste	Ctrl+V
Select All	Ctrl+A
Undo	Ctrl+Z
Working with files and projects...	Press
New file	Ctrl+N
Open File	Ctrl+O
Print	Ctrl+P
Save	Ctrl+S
Building and executing...	Press
Build the project output	Shift+F8
Build step (for example, compile or link)	Ctrl+F8
Debug the project output	Ctrl+F5
Force Build the project output	Alt+F8
Stop Build or Build step	Ctrl+Break
Execute the project output	F5
Finding...	Press
Find	Alt+F3
Find Again	F3
Next Error	F4
Previous Error	Shift+F4
Displaying a project...	Press
Move up the tree	Up arrow
Move down the tree	Down arrow
Expand the current level by one level	Num Pad + or Right arrow
Expand fully the current and all lower levels	Num Pad *
Collapse the current level	Left arrow
Collapse the current and all lower levels	Num Pad -


APM Status Bar

The Status Bar is displayed at the bottom of the main APM window.

It displays current status information or describes the user interface component (such as a menu option) currently selected.

To display or hide the Status Bar select Status Bar from the View menu. When selected, the Status Bar item is check-marked.

Related Topics

APM Windows


APM Terminology

The following terms have a specific meaning within the context of the ARM Project Manager:

Build

Build Step

Build Step Pattern

Partition

Project

Project Output

Project Template

Source File

Sub-project

Variable

Variant


APM Toolbar

To display or hide the toolbar, select Toolbar from the View menu. Click on a button below for more information:

	Create a new project or new source file.
	Open a source file or project.
	Save the current project or source file.
	In an Edit Window, cut the selected text to the clipboard.
	In an Edit Window, copy the selected text to the clipboard.
	In an Edit Window, paste the contents of the clipboard to the cursor position.
Find pulldown	Choose from a list of recently used search strings, then press F3 to initiate a search.
	Print the selected source file, project view or build log.
	Toggle the display of the build log window.
	Toggle the display of dependencies in the Project Window.
	Perform the build step associated with the selected file's type.
	Build the project (for the selected variant, only out-of-date build step outputs are built).
	Force build the project (for the selected variant, all files are rebuilt).
	Stop the build after the currently executing build step.
	Execute the project output. If the project has not yet been successfully built, a build is attempted first.
	Debug the project output. If the project has not yet been successfully built, a build is attempted first.
Related Topics

APM Windows


APM Windows

Three types of windows can be displayed by the ARM Project Manager:

An Edit Window for editing source files.

A View Window for examining binary files.

The Project Window.

Related Topics

Edit Window

View Window

Project Window


 ARM Project Manager

The ARM Project Manager (APM) helps you to construct the environment and specify the procedures needed to build your software. APM schedules the calling of development tools such as compilers, linkers and your own custom tools, so that you can bring a whole project up to date with minimal effort.

APM uses the concept of a project to maintain information about the system you are building. A project describes what to build and how to build it. When you have described your system as a project, you can build all of it or just a portion of it. If the project output is an image, you can execute it or debug it without leaving the Project Manager.

Related Topics

Getting Started

APM Windows

APM Terminology


About Build Steps: Assembling, Compiling, Linking and Building

To turn source files into  project output, use APM's building features. You use a template, to establish the build steps that are needed to generate the output(s) of your project, specifying the tools, file types and variables to be used in each step. You use the Tool Configuration dialog to specify any non-default parameters needed by each build step.

When you perform a build step or a complete project build, APM uses the template to turn your sources into the designated project output(s). As your project is being built, the progress indicator at the bottom of the Project Window is updated.

Any diagnostic information generated by a tool is displayed in the Build Log at the bottom of the Project Window. When the build has finished, you can double-click on a message in the Log Window and APM takes you to the file and the line referenced by the diagnostic.

 Build Steps

You can build a single file by selecting a file in the Project Window, or by loading the source file into the Edit Window.

If the file can be built that is, compiled or assembled) the appropriate menu item in the Project menu is enabled and labeled with the name of the build step pattern to be used to perform the build step. (If the project template does not define a build step for the selected file type, the menu item and the Perform build step button are disabled.)

For example, if you select a C source file called my_source1.c from the Release variant, the menu item reads:

Compile my_source1.c "Release"

Note:	Compile is a term specified within the template. Any build type tool (for example, the help compiler) can be used to build a source file.

 Building

When you build a project, only the files that are older than the files they depend on are rebuilt. You can choose to build any variant of the project by selecting the variant and clicking the build button, or by selecting Build project-name.apj "variant" from the Project menu.

Note:	When you Build a project, only the active variant is built. To build all variants, use Build Variants.

 Force Building

Select Force Build if you want to build all of the files in your project for the selected variant, regardless of how recently they have been built.

Note:	Depending on the settings in the APM Preferences dialog, Build and/or Force Build can build any sub-projects associated with the projects.

Build Variants

You can also choose to build all variants of your project. To do this, select Build Variants from the Project menu.

 Stopping the build

You can request to stop the build at any time by clicking the Stop build button. Building will stop at the end of the current step or earlier if the tool being used is able to handle the request.

Related Topics

Executing a Single Build Step

Building a Project

Force Building a Project

Stopping Project Build

About Correcting Problems

Build Variants Dialog

APM Preferences Dialog


About Correcting Problems

When you have built your project, there may of course be errors and problems. As the build progresses, messages are written to the build log, which is displayed in the Build Log pane at the bottom of the Project Window. These may be information messages or diagnostic messages from the tools (for example, compilers or linkers) associated with the project template.

When the build is complete, you can double-click on any error message that relates to an editable source file (for example, compiler errors with file line tags) and APM takes you to the location where the error was detected. In the case of a compile error, this would be the line of code listed in the log. If a line pertains to a sub-project, that project is loaded into the Project Window. You can also use Next Error and Previous Error from the View menu to locate errors.

The following symbols are used to indicate the severity of the error:

Information

Warning

Error

Serious Error

Fatal Error

Related Topics

Project Window

Editing a Source File


About Creating Projects

When you create a project, you select the type of project output(s) you will be creating by choosing a project template. APM provides several basic templates that build ARM executables or libraries. Once you create the project you can modify the template's default settings to meet the needs of your project. You can also create new templates.

The name that you give to your project is used to name the project file (.apj), and the project output.

Within a project, there are variants and partitions that help you to organize your project's structure. Two default variants are provided with the standard templates, Release and Debug, which produce project outputs that are executable or debuggable. Partitions enable you to organize your source, object and library files, as well as your dependencies and your project output.

When you have created a project, you can add existing source files, or you can create new source files. You can also add other projects as sub-projects so that their project output/s can be used to build your new project. For example, you could add another project that builds a library, so that the library is rebuilt when you build your project.

Related Topics

What is the Project Hierarchy?

Project Directory Structure

Creating a New Project

Adding Files to a Project

Working with Source Files

About Build Steps: Assembling, Compiling, Linking and Building

About Correcting Problems


Add Variant Dialog

Use this dialog to add new variants to your project. All files and variable values associated with the 'like' variant are given to the new variant.

Add Variant Like	List of current variants. Select the one closest to the variant you want to add.
New Variant Name	Enter a name for the variant.
OK	Click to add the new variant, copying all files and variable values, and exit the dialog.
Cancel	Click to exit the dialog, no action taken
Access this dialog by selecting Add Variant from the Project menu.

Related Topics

Adding a New Variant to a Project

What is the Project Hierarchy?


Adding Files to a Partition
To add files to a partition:

1.	Select a partition from the Project View.

2.	Select Add Files to partition from the Project menu.

3.	Select the file or files to be added to the project using the Add Files to partition dialog.

4.	Click the OK button.

Tip:	Use the Retain partition selection settings on the APM Preferences dialog to keep the default partition set to the one last used.

If the file type is not associated with the selected partition in a build step pattern, the Unable to Add Files message box is displayed. If you still want the file added to the project, you must associate the file type with a partition and add the file again.

Related Topics

Adding Files to a Project

Working with Build Step Patterns

About Creating Projects

What is a Source File?

Unable to Add Files Message Box

APM Windows


Adding Files to a Project
To add files to a project:

1.	Select Add Files to Project from the Project menu.

2.	Select the file or files to be added to the project using the Add Files to Project dialog.

3.	Click the Open button.

The file is added to the partition that has been associated with the file's type in the Build Step Pattern dialog.

If the file type has been associated with tools in multiple partitions, the Files Matched Multiple Partitions dialog is displayed. This dialog enables you to add the file to the correct partition.

1.	Select the partition in Project Viewer.

2.	Select the file or files from the Files Matched Multiple Partitions dialog.

3.	Click the Add button.

Repeat for each file that is displayed in the dialog.

Tip:	Use the Retain partition selection settings on the APM Preferences dialog to keep the default partition set to the one last used.

If no partition is selected and the file type is not associated with a build step pattern, APM does not know which partition the file is to be added and the Unable to Add Files message box is displayed. If you still want the file to be added to the project, you must select a partition and add the file again, or associate the file type with a partition.

Related Topics

Adding Files to a Partition

Working with Build Step Patterns

About Creating Projects

What is a Source File?

Files Matched Multiple Partitions Dialog

Unable to Add Files Message Box

APM Windows


Adding a Build Step Pattern
To add build step pattern:

1.	Select Edit Project Template from the Project menu.

2.	Click the New button. The Create a New Build Step Pattern dialog is displayed.

3.	Enter the name of the new build step pattern.

4.	Click the OK button. The Edit Build Step Pattern dialog is displayed.

5.	Specify Input and Output Partition information:

a.	Enter a Partition name. If the partition does not exist, it is created.

b.	Enter the Pattern.

c.	Click the Add button.

6.	Enter the Command Lines information.

7.	Click the OK button.

Tips:	You can have more than one Edit Build Step Pattern dialog displayed at one time so that you can easily copy information from one to another using Ctrl+Insert (copy) and Shift+Insert (paste).

You can use the -args option in a command-line to introduce any arguments you may wish to supply to the program you are about to debug. For example:
launch adw -exec any.asf -args ex0.eqn

Related Topics

Working with Build Step Patterns

What is a Build Step Pattern?

Specifying Input and Output Patterns

Editing a Build Step Pattern

Removing a Partition from a Build Step Pattern


Adding a New Tool
To add a new tool:

1.	Select Edit Project Template from the Project menu.

2.	Click the New button.

3.	Enter the name of the build step pattern to be associated with the tool.

4.	Click the OK button. The Edit Build Step Pattern dialog is displayed.

5.	Specify the new tool on the Command Line and add input and output partition information as necessary.

6.	Click the OK button.

7.	Select Tool Configuration from the Project Menu. Select your tool which has been added to the sub-menu. The Failed to Locate the Tool dialog is displayed.

8.	Modify the information as necessary.

9.	Click the OK button to save.

The tool is added to the project and the tool's project-wide configuration is set.

Note:	In step 7 above, you are setting configuration options for the level you have selected. The scope of the change is reflected in the menu item; for example if the item reads Tool Configuration for my_proj.apj, only the options used by the tool within the project my_proj would be affected.

Related Topics

Tool Configuration Dialog

Adding a New Build Step Pattern

Editing a Build Step Pattern

Failed to Locate the Tool Dialog

Editing a Tool's Configuration


Adding a New Variant to a Project
To add a new variant to a project:

1.	Select Add Variant from the Project menu.

2.	Select a variant from the Add Variant Like list. The files and variable values from the original are assigned to the new template.

3.	Enter a New Variant Name.

4.	Click the OK button.

Note:	Variant names must not contain spaces.

Related Topics

What is a Variant?


Adding a Partition to a Build Step Pattern
To add partition to a build step:

1.	Select the Build Step Pattern from the Project Template Editor dialog.

2.	Click the Edit button. The Build Step Pattern dialog is displayed.

3.	Enter a new Input or Output Partition.

4.	Enter the Pattern for the partition.

5.	Click the Add button.

6.	Change the Command Line as required.

7.	Click the OK button to save the changes and exit the dialog.

Tip:	You can have more than one Edit Build Step Pattern dialog open at one time, so that you can copy from one build step pattern to another easily using Ctrl+Insert (copy) and Shift+Insert (paste).

Related Topics

What is a Build Step Pattern?

What is a Partition?

Specifying Input and Output Build Step Patterns

Editing a Build Step Pattern

Removing a Partition from a Build Step Pattern

Adding a Build Step Pattern


Build Log

The lower pane of the Project Window shows the build log. The build log pane is opened automatically when you build your project or when you perform an individual build step, such as compiling a source file. The relevant events that occur during the build are displayed with the following symbols:

	Information
	Warning
	Error
	Serious error
	Fatal error
When a message is traced to a source file, you can double-click on the message and the file in question is loaded into the editor at the location where the problem was detected.

Changing the display

If you want to change the display font, right-click on the build log. There are three options:

Choose font	You can select a fixed type font and specify its style and size
Smaller font	Reduce the current font size by one point
Larger font	Increase the current font size by one point


Build Variants Dialog

Use this dialog to select one or more variants to build.

Variant list	Lists the variants. Select one or more to build.
Force Build Regardless of Timestamps	If check-marked, all build steps are performed, regardless of the age of the files. Note: The force building of sub-projects is controlled by the Force Build option in the APM Preferences dialog.
OK	Click to initiate the build, and exit the dialog.
Cancel	Click to exit the dialog, no action taken.
Access this dialog by selecting Build Variants from the Project menu.

Related Topics

Building Variants


Building a Project
 To build a project (only files that are out of date are built):

Select Build projectname.apj "variant" from the Project menu or click the Build button.

For the selected variant, any files that are out of date are built, and the build log is displayed at the bottom of the Project Window.

Related Topics

About Build Steps: Assembling, Compiling, Linking and Building

APM Windows

Stopping Project Build

About Correcting Problems


Building a Variant
To build a variant or variants:

1.	Select Build Variants from the Project menu. The Build Variants dialog is displayed.

2.	Select one or more variants from the Select Variants to build scrolling list.

3.	If you want to force build the selected variants, select Force build regardless of timestamps.

4.	Click OK to initiate the build.

Related Topics

What is a Variant?

Build Variants Dialog


C++-Specific Warnings

Select the compiler configuration warning options that you require:

Implicit constructor

Select this option to suppress the implicit constructor warning. This warning is issued where a constructor would have to be invoked implicitly, for example:

struct X { X(int); };X x = 10;
// actually means, X x = X(10);
// See the Annotated C
// Reference Manual

Implicit virtual

Select this option to suppress the implicit virtual warning. This warning is issued when a non-virtual member function of a derived class hides a virtual member function of a parent class. For example:

struct Base { virtual void f(); };
struct Derived : Base { void f();}
// warning 'implicit virtual

Unused this in non-static member function

Select this option to suppress the unused this warning. This warning is issued when the implied this argument is not used in a non-static member function.

Memory inits out of order

Select this option to suppress the warning when a constructor member initialisation list is in a different order from the class declaration order. For example:

class A
{
int _i;
int _j;
public:
A (int val),
 : _j(val),
   _i(42)
 {}
};

would produce this warning which could simply be ignored
(first _i is set to 42 then _j is set to the constructor argument val)

However,

class A
{
int _i;
int _j;
public:
A (int val),
 : _j(val),
   _i(_j)
 {}
};

appears to attempt to initialize the member _i based on the value used to initialize _j. In fact, _i is first initialized with whichever bit pattern occupied the memory now allocated to _j in this instance of the class A and _j is then initialized with the constructor argument val. The warning would be useful here, so you need to think carefully before suppressing it.

Related Topics

Compiler configuration for C++

Language and Debug

Editing a tool's configuration within a project

Editing a tool's system wide configuration


Changing a Project Name
To change a project name:

1.	Select Save As from the File menu. The Save As dialog is displayed.

2.	Save the file with a new name.

3.	Rebuild the project.

Note:	The value of the variable $$ProjectName must be "" or the project output retains the name stored in that variable.

To change only the name of the project output:

1.	Select Edit Variables for projectname.apj from the Project menu. The Edit Variables dialog is displayed.

2.	Select the variable $$ProjectName.

3.	Type the new name in the Value text box.

4.	Click the OK button.

Note:	The original project files are not renamed or deleted.

Related Topics

Building a Project

What is a Variable?


Changing the APM Display
To change the APM display:

Select Toolbar or Status Bar from the View menu to toggle display of the toolbar and status bar.

Select Variants from the View menu to toggle display of the project's variants (partitions and their files can still be displayed).

Select Dependencies from the View menu or click the [image] button to toggle display of the links between code files and include files. You can then display the dependencies for a source file by clicking the [image] or pressing the plus key on the numeric keypad. Links are shown as sub-items of the code file.

Select Build Log from the View menu or click the [image] button to toggle display of the build log pane.

Hold the Tab key down and click the mouse on a point in the project view where you want to set a tab to control the spacing of the project hierarchy. All levels of the hierarchy are spaced evenly based on the position you have selected.

Various arrow keys and numeric keypad keys act as shortcut keys, allowing you to expand or collapse the display of the levels of a project. See APM Shortcut Keys for details.

Related Topics

APM Windows


Choose Tool DLL Dialog

Use this dialog to change the configuration for an APM compatible tool. The changes affect the tool every time it is used by a project (unless overridden by a project, variant, partition or source level configuration change).

If the tool does not have a compatible tool DLL, you can change command-line arguments for the tool using the Failed to Locate the Tool dialog (accessed by selecting Tool Configuration from the Project menu, for a tool that is associated with the project in a build step pattern).

Access this dialog by selecting: Tools menu → Configure submenu → Other Tool option.

Related Topics

Failed to Locate the Tool

Editing a Tool's Configuration


Command and Status Bar

The bottom area of the project window contains a button for starting or stopping a build and a progress display.


Compiler configuration for C++

Two of the compiler configuration tabs have options that relate only to C++:

C++-specific warnings

The options shown on this tab will be grayed out unless you have C++ installed on your machine.

Language and Debug

The language options vary according to whether you have C++ installed on your machine.

Related Topics

C++-specific warnings

Language and Debug

Editing a tool's configuration within a project

Editing a tool's system wide configuration


Confirm Action on Multiple Selection Dialog

This dialog is displayed when you have selected more than one file or partition to remove from your project (by selecting multiple items and pressing the delete key). The files are not removed from the project until you confirm that you want all of the selected files deleted.

File list	The list of files you have selected for removal. If the check box to the left of the item is check-marked, the file is removed from the project when you Click the OK button.
OK	Click to remove all check-marked files from the project and exit the dialog.
Cancel	Click to exit the dialog, no action taken.
Toggle selected	Toggle the check-mark against the selected item.
Displayed by APM when you select multiple files for deletion.

Related Topics

Removing a File from a Project

Removing a Variant from a Project


Confirm Delete Message Box

Click the Yes button to remove the build step pattern from the template.

Click the No button to retain the build step pattern.

Related Topics

Working with Templates

Working with Build Step Patterns


Converting Old Projects

If you want to use a project created with the ARM Project Manager version 1, it must be converted to the new project file format. The conversion is started automatically, and the Project Conversion Wizard guides you through a series of dialogs that collect information that is used to convert the project.

To prevent your existing file from being overwritten, select the Do not overwrite old project file check box on the first screen.


Create a New Build Step Pattern Dialog

Enter a name for the build step pattern. This name is used in the Project menu to describe the build step that will be performed on a selected item. The menu item will make more sense if you use a verb for the name. You can change this name by accessing the Edit Build Step Pattern dialog.

When you click the OK button, the Edit Build Step Pattern dialog is displayed so that you can enter the necessary parameters for the tool.

Access this dialog by selecting: Project menu → Edit Project Template option → New button.

Return

Related Topics

Editing a Template

Editing Build Step Patterns


Creating a New Project
 To create a new project:

1.	Select New from the File menu or click the New button. The New dialog is displayed.

2.	Select Project from the scrolling list.

3.	Click the OK button. The New Project dialog is displayed.

4.	Select the template Type that you want to use for the project. The template description is displayed.

5.	Enter a Project name. This is used for the project file and the project output.

6.	If necessary, modify the Project Directory. The variant directories are created within this directory.

7.	Click the OK button.

The new project file is created in the Project Directory and the Project Window is displayed.

Various arrow keys and numeric keypad keys act as shortcut keys, allowing you to expand or collapse the display of the levels of a project. See APM Shortcut Keys for details.

Related Topics

Project Directory Structure

About Creating Projects

Adding Files to a Project

Viewing a Project

APM Windows

Changing a Project Name

Getting Started


Creating a New Source File
 To create a new source file:

1.	Select New from the File menu or click the New button. The New dialog is displayed.

2.	Select the type of file from the New scrolling list, for example, C/C++ source or C/C++ include file.

3.	Click the OK button.

Note:	If you create a new source file and at the same time you have an open project, the source file is not automatically added to the open project.

Further, you can build a source file via the Edit Window only if it has been accessed from a project.

Related Topics

What is a Source File?

Adding Files to a Project

Adding Files to a Partition

Editing a Source File

Performing a Single Build Step


Creating a New Template
To create a new (blank) template:

1.	Select an existing template or project as a basis for your new template.

2.	Select Save as Template from the File menu. The Save As Template dialog is displayed.

3.	Locate the file in the \Template directory under the \ARM installation directory and give it a unique name.

4.	Click the Save button. The new project has now been created and is the currently active project.

5.	Select Edit Project Template from the Project menu and edit the template as necessary:

a.	Click the Edit Details button and modify the Title and the Description of the template - see Editing a Template's Details.

b.	Modify the build step patterns listed for the template, adding or deleting build step patterns as necessary - see Editing a Build Step Pattern.

c.	When you have completed the changes, click the Exit button.

6.	Edit any variables as necessary - see Editing a Variable.

7.	Edit any tool paths as necessary - see Editing a Path.

8.	Save the project.

The new template is displayed in the Type list of the New Project dialog the next time you create a new project.

Related Topics

Working with Templates


Debugging a Project
 To debug a project:

Click the Debug button.

OR

Select Debug project.apj from the Project menu.

If the project output is older than its sources, it is rebuilt before being loaded into the Debugger.

If you want to supply any arguments to the program you are about to debug, refer to To edit a build step pattern.

Related Topics

ARM Debugger


Edit Build Step Pattern Dialog

Use this dialog to specify the file types that match a particular build step and the partitions in which the build step locates its inputs and outputs. You can also specify how flags and input/output files are used in the command line(s).

Build Step Pattern Name	Descriptive of what the build step does (for example, Compile or Link). Tip: This name is used in the Project menu to describe what will be done to the selected item. The menu item will make more sense if a verb is used in this field.
Input Partition	The name of the project partition that provides the tool's input. If the partition does not exist, it is created.
Input Pattern	Specifies which members of the partition match this tool. A file type's association with a partition is established here. APM uses this information to determine which partition a file should be added to when it is added to the project. See Input Pattern Expressions.
Output Partition and Pattern	Names the output of the build step and links it to a partition. If the partition does not exist, it is created. Pattern variables declared in input patterns can be used here in the output patterns. See Output and Command Line Pattern Expressions.
Command Lines	Specifies the pattern(s) for the command line(s) to be used when the build step is activated. This is where an actual tool (for example, armcc) is associated with a build step (for example, Compile) Pattern variables declared in input patterns can be used in the command line(s).
OK	Click to exit the dialog, saving all changes.
Cancel	Click to exit the dialog, ignoring changes that have not been Applied.
Apply	Save the changes made.
Note:	The link between a file and a partition is not physical. It is a means of organizing files within a project. The location of a file on disk is not affected by its link with a partition.

Access this dialog by selecting Edit Project Template from the Project menu, then selecting a Build Step Pattern and clicking Edit, or double-clicking on a Build Step Pattern.

Related Topics

What is a Build Step Pattern?

Specifying Input and Output Build Step Patterns

Editing a Build Step Pattern

Editing a Template


Edit Menu

The Edit menu offers the following options:

Undo	Undo the last change made.
Redo	Note: Unavailable at this release.
Cut	Cut the selected text to the clipboard.
Copy	Copy the select text to the clipboard.
Paste	Paste the contents of the clipboard to the cursor location.
Remove entity  from project	Remove the named entity (for example, source file or variant) from the named project. Partitions cannot be removed.
Select All	Select all text. Available only in an Edit Window.
Find	Find the text entered.
Find Again	Repeat the last Find.
Replace	Replace the selected text with another text string. Available only in an Edit Window.
Goto	Go to a selected line. Available only in an Edit or View Window.
Related Topics

APM Windows


Edit Paths Dialog

Use this dialog to change the directory path (not the search path) to the selected tool. If the directory path is not explicitly set, the search path is used.

Note:	Do not add a path using this dialog unless your tools are not on the Windows search path.

Select	List of the tools known to the project.
Edit Path	Enter a new path or edit the existing path for the selected tool.
OK	Click to save any changes and exit the dialog.
Cancel	Click to ignore all changes not yet applied, and exit the dialog.
Apply	Click to Apply the change to the selected tool.
Access this dialog by selecting Edit Paths from the Project menu.

Related Topics

Editing a Path

Working with Templates


Edit Template Details Dialog

Use this dialog to change the title and description of a template, or add this information to a new template.

Title	Enter a short name for the project.
Description	Enter more details on the type of project.
OK	Click to save the changes and exit the dialog.
Cancel	Click to ignore the changes and exit the dialog.
Note:	The title and description are initially defined by the template. However, when you have created a new project, you can change this information without affecting the master template.

Access this dialog by selecting: Project menu → Edit Project Template option → Edit Details button.

Related Topics

Editing a Template

Creating a New Template


Edit Variables Dialog

Use this dialog to change the value assigned to a variable, for the current level in the project hierarchy.

Name	Enter the name of a variable or select one from the scroll box.
Value	The value currently assigned to the selected variable is displayed. The value can be changed unless the variable is read-only.
OK	Click to save all changes and exit the dialog.
Delete	Click to remove the currently selected variable.
Cancel	Click to exit the dialog without saving changes that have not yet been Applied.
Apply	Click to save the change made to the currently selected variable.
Accessed by selecting Edit Variables for entity from the Project dialog.

Related Topics

Editing a Variable

What is a Variable?

Editing a Template


Edit Window

Use an Edit Window to view and/or edit a source file. You can also cut and paste, and find and replace text.

If you want to change  the tab settings and font used by APM's internal editor, select Editor from the Tools menu to access the Editor Preferences dialog. This dialog also provides an option to use Premia CodeWright Version 4.0/5.0  in place of the APM internal editor, if you have it installed on your machine.

If you are editing a source file and choose to build that file, the Edit Window is closed (saving the file if the file has changed). The Project Window is displayed, showing the messages resulting from the build in the build log pane.

Note:	You can only build a source from the Edit Window if you accessed the source file from a project.

Related Topics

APM Windows

Editor Preferences Dialog

Project Window


Editing a Build Step Pattern
To edit a build step pattern:

1.	Select the Build Step Pattern from the Project Template Editor dialog.

2.	Click the  Edit button. The Build Step Pattern dialog is displayed.

3.	Select the pattern line from the list in the Input or Output Partition group. The selected pattern is loaded on the edit line.

4.	Edit the Pattern as required

5.	Click the Replace button to change the pattern.

6.	Change the Command Line as required.

7.	Click the OK button to save the changes and exit the dialog.

Tip:	You can have more than one Edit Build Step Pattern dialog open at one time, so that you can copy from one build step pattern to another easily using Ctrl+Insert (copy) and Shift+Insert (paste).

Note:	In the Debug or Execute build step pattern you can use the -args option in a command-line to introduce any arguments you may wish to supply to the program you are about to debug. For example:

launch <adw> -exec <any>.axf -args ex0.eqn

Related Topics

What is a Build Step Pattern?

Specifying Input and Output Build Step Patterns

Adding a Build Step Pattern

Adding a Partition to a Build Step Pattern

Removing a Partition from a Build Step Pattern


Editing a Path
To edit a path:

1.	Select Edit Paths from the Project menu.

2.	Select a tool from the scrolling list.

3.	Change the path, as required,  in the Edit Path field.

4.	If you have additional tool paths to modify, click the Apply button to save the change and go on to modify another path.

5.	When you have completed your changes, click the OK button to save the changes and exit the dialog.

OR

Click the Cancel button to exit the dialog without saving changes that have not yet been applied.

Note:	You must not edit paths if your tools are on your Windows search path.

Related Topics

Failed to Locate the Tool Dialog

Edit Paths Dialog


Editing a Source File
To edit a source file:

1.	Double-click on a source file in the Project Window.

OR

1.	Select Open from the File menu.

2.	Select the required file using the Open dialog.

3.	Click the OK button.

The features on the Edit menu can be used to edit your file as required.

Tip:	If you have accessed your source file from a project, you can build your source file from the Edit Window by clicking the Build Step button.

Related Topics

What is a Source File?

Performing a Single Build Step


Editing a Template
To edit a template:

1.	Select Edit Project Template from the Project menu. The Project Template Editor dialog is displayed.

2.	You can now do one or more of the following:

Select a build step pattern and click the Edit button to modify it, or click the Delete button to remove it.

Click the New button to add a new build step pattern.

Click the  Edit Details button to change the title and/or description of the template.

3.	Click the Exit button to close the dialog.

Note:	The changes affect only the current project.

Related Topics

Working with Templates

Working with Build Step Patterns

Adding a New Build Step Pattern

Editing a Build Step Pattern

Editing a Template's Details


Editing a Template's Details
To edit template details:

1.	Select Edit Project Template from the Project menu. The Project Template Editor is displayed.

2.	Click the Edit Details button.

3.	Change the Title and/or Description as needed.

4.	Click the OK button.

Note:	This does not affect the master template, only the current project's template.

Related Topics

Editing Templates


Editing a Tool's Configuration Within a Project
To edit the configuration of a tool within a project:

Tool configuration can be associated with:

the whole project

a project variant

a partition

an individual file

1.	Click on the entity (for example, the Debug variant in the Project Window) to select the scope for the configuration change.

2.	Select Tool Configuration from the Project menu, then select the tool to be configured. The Tool Configuration sub-menu is displayed.

3.	Click the Set button and the Tool Configuration dialog is displayed.

4.	Change the configuration as necessary.

5.	Exit the dialog:

Click the OK button to save the changes and close the dialog.

Click the Apply button to save the changes made.

Click the Cancel button to ignore all changes not Applied and close the dialog.

Note:	If you select Tool Configuration from the Project menu and select a tool that does not have an APM-compliant .DLL, the Failed to Locate the Tool dialog is displayed.

Note:	Changes affect the tool's use on a specific source, partition, variant or project.

When a configuration is associated with a file, it is associated with that file as an input to a build step, not with that file as output from a build step.

Related Topics

Adding a New Tool

Adding a Build Step Pattern

Failed to Locate the Tool Dialog

Project Window

Editing a Tool's System-Wide Configuration

Tool Configuration Dialog

Resetting a Tool's Configuration

Compiler configuration for C++


Editing a Tool's System-Wide Configuration
To edit the system-wide configuration for a tool:

1.	Select Configure from the Tools menu.

2.	Select the tool to configure. The Tool Configuration dialog is displayed.

3.	Change the configuration as necessary.

4.	Exit the dialog:

Click the OK button to save the changes and close the dialog.

Click the Apply button to save the changes made.

Click the Cancel button to ignore all changes not Applied and close the dialog.

Note:	The changes are used each time a tool is used by any project.

Related Topics

Adding a New Tool

Adding a Build Step Pattern

Failed to Locate the Tool Dialog

Project Window

Editing a Tool's Configuration Within a Project

Resetting a Tool's Configuration


Editing a Variable
To edit a variable:

1.	Select Edit Variable from the Project menu. The Edit Variables dialog is displayed, the title of the dialog reflects the scope of the changes that are going to be made.

2.	Select a variable from the scrolling list or enter the variable Name.

3.	Enter the new Value.

4.	If you have additional variables to modify, click the  Apply button to save the change and modify another variable.

5.	Once you have completed your changes exit the dialog:

Click the OK button to save the changes and exit the dialog.

Click the Cancel button to exit the dialog. Changes that have not yet been applied are lost.

Note:	Variables prefixed by $ are read-only and cannot be modified or deleted.
Variables prefixed by $$ are reserved for use by APM, but can be modified.
A variable containing a '$' (for example, path$Debug) has a standard purpose defined by APM.

Related Topics

What is a Variable?


Editor Preferences Dialog

Use this dialog to set tabs and font for the APM internal editor or to switch to the Premia CodeWright 4/5 editor(if installed on your machine).

Internal Editor - Tab Stops	Changes the tab stops used in the Edit Window.
Font	Displays a standard font dialog for you to select a font type and size for the APM internal editor.
Use CodeWright 4	Check-mark to select Premia CodeWright 4/5.
Location	Specify the location of CodeWright if different from the standard installation.
Accessed by selecting Editor from the Tools menu.

Related Topics

APM Windows


Executing a Project
 To execute a project:

Click the Execute button.

OR

Select Execute project.apj from the Project menu.

If the project output is older than its sources, it is rebuilt before execution.

If you want to supply any arguments to the program you are about to execute, refer to To edit a build step pattern.


Failed to Locate the Tool Dialog

If you are using a tool that is not APM compliant, that is, it does not have a defined set of entry points understood by APM, you can still specify basic options using this dialog.

These command-line arguments are used within the scope shown in the Tool Configuration menu item in the Project menu. For example, if you have selected a source file and then select Tool Configuration, the changes apply only to the command line used to build that source file.

Use Set Command Line Arguments to set the command-line arguments to be used in the selected scope.

Accessed by selecting Tool Configuration for "entity" from the Project menu. If the tool you select does not have a tool .DLL, this dialog is displayed. Otherwise, the Tool Configuration dialog is displayed.

Related Topics

Adding a New Tool

Adding a Build Step Pattern

Tool Configuration Dialog


File Menu

The File menu offers the following options:

New (project) New (source file)	Create a new source file or project.
Open	Open an existing source file or project.
Close	Close the currently active window; unsaved changes are lost.
Save	Save the file or project in the current window.
Save All	Save all open projects and files.
Save As	Save the current file or project with a different file name.
Save As Template	Save the current project as a template.
Print	Print the current file or project.
Print Preview	Display a preview of how the current file or project will look when printed.
Print Setup	Change printer settings or select a new printer.
Recent Files List	A list of recently open source files.
Recent Projects List	A list of recently open projects.
Exit	Exit the ARM Project Manager.


Files Matched Multiple Partitions Dialog

This dialog is displayed when a file is added to a project, but the file's type is associated with more than one partition.

File List	List of all files that you have just added that are associated with more than one partition.
Add	Click to add the selected files to the selected partition.
Cancel	Click to exit the dialog, no action taken.
Tip:	Use the Retain partition option on the APM Preferences dialog to assist in adding files with a type assigned to more than one partition.

Displayed by APM when you add a file to a project that could be placed in more than one partition.

Related Topics

Adding Files to a Project

Adding Files to a Partition

What is a Partition?


Force Building a Project
 To force build a project (all files for the selected variant are built):

1.	Select a variant from the project view.

2.	Select Force Build projectname.apj "variant" from the Project menu or click the Force Build button.

Note:	Sub-projects are built only if the Force Build option has been selected in the APM Preferences dialog.

Related Topics

About Build Steps: Assembling, Compiling, Linking and Building

Stopping Project Build

APM Preferences Dialog


Getting Started

If you are creating a project using existing source files, perform the following five steps:

1.	Create a New Project.

2.	Add Files to the Project.

3.	View the Project.

4.	Build the Project.

5.	Correct Problems.

To create new source files using APM, perform the following three steps:

1.	Create a New Source File.

2.	Add Files to a Project.

3.	Execute a Single Build Step.

If you require special processing to create your project's output, you will work with project templates and with build step patterns:

Working with Templates.

Working with Build Step Patterns.


Input Pattern Expressions

An input pattern can contain three kinds of pattern element:

Variables:	written as <name>, that match any sequence of characters not containing the next literal.

Literals:	written as is, that match only themselves.

Conditional literals:
written as <name|literal> that either:

match and name takes on the value of the literal.

fail to match and name takes on the value '' (null).

Patterns match from right to left, and '/' in a pattern matches '/' or '\' in the filename.

For example:

<path><slash|/><file>.c

would match myfile.c with:

path =''

slash = ''

file = 'myfile'

It would also match:

c:\projdir\myproj\myfile.c

with:

path = 'c:\projdir\myproj'

slash = '\'

file = 'myfile'

Note:	<path>\<file>.c does not match myfile.c (there is no match of '\').

Related Topics

What is a Build Step Pattern?

Editing a Build Step Pattern

Editing a Variable

Specifying Input and Output Patterns

Output and Command Line Pattern Expressions


Language and Debug
Configuring the Language and Debug option

If you do not have C++ installed, the source language options are:

ANSI/ISO Standard C

Strict portable C compiler (BSD4.2 pcc)

portable C compiler C

Strict ANSI/ISO Standard C (ANSI X3.159)

If you have C++ installed, there are two further source language options available:

Draft-conforming C++
In this mode, the ARM C++ compilers compile C++ as defined by the ISO/IEC Draft Standard.

CFront
Select this option to alter the behavior of the C++ compiler so that it is more likely to accept programs that CFront accepts.

Related Topics

Compiler configuartion for C++

Editing a tool's configuration within a project

Editing a tool's system wide configuration


 New File or Project Dialog

The New file or project dialog enables you to create a new project or source file.

New	Lists the types of files that are recognized by APM.
OK (Source or Include file)	If you select a source file type and click the OK button, the Editor window displays an empty file in an Edit Window.
OK (Project)	If you select Project, the New Project dialog is displayed.
Cancel	Click to exit the dialog, no action taken.
Accessed by selecting New from the File menu or by clicking the New button.

Related Topics

New Project Dialog

Creating a New Project

Creating a New Source File

Edit Window


New Project Dialog

Use this dialog to create a new project, based on an existing template.

Template Description	Description of the type of template selected.
Type	Short name for the type of template selected. Use this field to select the template for your new project.
Project Name	Enter a project name. This becomes the name of the project file (.APJ) and the name of the project output.
Project Directory	Select the directory where the project file is to be stored. By default, variant directories are created in this directory.
OK	Click to create the new project, which is then displayed in the Project Window, and exit the dialog.
Cancel	Click to exit the dialog without creating the project.
Access this dialog by selecting: File menu → New dialog → Project option → OK button.

Related Topics

Project Directory Structure

New File or Project Dialog

Creating a New Project

Adding Files to a Project

Changing a Project Name


Opening a Project or Source File
 To open a project or source file:

Click the Open button.

OR

Select Open from the File menu.

OR

Select a file from the Recently Opened File or Project list on the File menu.

Various arrow keys and numeric keypad keys act as shortcut keys, allowing you to expand or collapse the display of the levels of a project. See APM Shortcut Keys for details.


Output and Command-line Pattern Expressions
Output and Command Line Pattern Expressions

An output or command-line pattern can use a mixture of variables, conditional literals and literals. The variables are those matched in the input pattern expressions or defined within the project. For example, <path|-I><path> consists of the project variable and conditional literal -I (defined only if the pattern variable  <path> is non-empty) followed by the pattern variable <path> value. The two examples above would generate nothing from myfile.c and -I c:\projdir\myproj from the fully qualified file name.

<path|-I><path>

with:

path = ''

would generate:

->	<''|-I>''

->	'' ''

->	''

but with:

path = 'c:\mydir\myproj\'

from the filename

c:\mydir\myproj\'

gives:

<'c:\mydir\myproj\'|-I>'c:\mydir\myproj\'

-IC:\mydir\myproj

Outputs and command lines can refer to variables not used in an input pattern. A typical example might be:

<tool> -o <file>.o ... <TOOLFLAGS> ...

If the variable <TOOLFLAGS> is defined within the project, its value is used, otherwise it is ignored.

A more typical output expression is:

<file>.o

A command-line expression might be {path|<path|-I><path>} denoting the set of values accumulated from the expression discussed above.

Note:	The first variable on a command line is treated differently; its default value is its name. APM insists that the name of a tool must be a variable. So, if you want to call armcc, you must write <armcc>.

Related Topics

What is a Build Step Pattern?

Editing a Build Step Pattern

Editing a Variable

Specifying Input and Output Patterns

Input Pattern Expressions


Performing a Single Build Step
 To execute a single build step:

1.	Select the source file from the Project Window.

2.	Execute the build step:

Click the Perform Build Step button (the tool tip reflects which build step will be executed).

From the Project menu select Perform build_step filename, where build_step is the action (for example, Compile, Assemble or Link) associated with this file's type in the build step pattern.

The action(s) associated with the build step are executed and the results are displayed in the build log pane.

Related Topics

What is a Build Step?

About Build Steps: Assembling, Compiling, Linking and Building

What is a Source File?

What is a Build Step Pattern?


Project Directory Structure

If you are planning to move your project, (for example, if you move your project to a different machine when the work moves from the development phase to a testing phase), you should consider the directory structure that you use in organizing your project.

The project variable $$DepthOfDotAPJBelowProjectRoot establishes the project root directory by specifying the number of directory levels above your .APJ that are a part of your project. Any files added to the project within that root structure are referenced relatively. Any files added to the project outside that directory structure are referenced absolutely.

In the example below, if $$DepthOfDotAPJBelowProjectRoot for project1 was set to 2, the files accessed from source would be specified:

..\source\file.c

Any files accessed from the libraries directory would be specified with:

drive:\top_level\work\system1\libraries\file.lib

In other words, the projects directory structure could be moved anywhere and the files in source would still be accessible by project1.apj. However, references to the files in libraries would have to be changed if the structure above project1 had changed.

Again using the example above, if $$DepthOfDotAPJBelowProjectRoot was set to 3 the source files would still be referenced:

..\source\file.c

but the library files would be referenced:

..\..\libraries\file.lib

Related Topics

Creating a New Project

What is a Variable?


Project Menu

The Project menu offers the following options:

Add Files to Project Add Files to partition	Add a source file (or files) to the current project. If you have selected a partition from the project view, the menu item will reflect the selected partition.
Add Variant	Add a variant to the current project, based on an existing variant.
Tool Configuration for level	Display the Tool Configuration sub-menu. Use this to change the configuration for a tool for the selected level.
Perform build step filename "variant"	Perform the build step using the selected file.
Build project.apj "variant"	Build the selected variant of the current project. Only files older than their source are built.
Force Build project.apj "variant"	Build the selected variant of the current project. All files are built.
Build Variants	Build one or more variants of the current project. Force build is presented as an option.
Stop Build	Halt the build after completion of the currently executing build step.
Execute project.apj	Execute the project  and build if the project output is not up to date.
Debug project.apj	Load the project into the debugger and build if the project output is not up to date.
Edit Project Template	Display the Project Template Editor, to edit the project template, build step patterns and template details.
Edit Paths	Edit the paths used to find the tools used by the template.
Edit Variables for level	Edit the variables for the selected project level.


Project View

The top pane of the Project Window shows the project view, which is the hierarchy of the project you have defined, including sub-projects, variants, partitions, source files and dependencies. You can control the amount of information displayed by:

using the View menu

clicking the View Dependencies button

double-clicking on the item you wish to hide or examine

clicking a [image] or [image] symbol

Various arrow keys and numeric keypad keys also act as shortcut keys, allowing you to expand or collapse the display of the levels of a project. See APM Shortcut Keys for details.

The following icons are used in the project viewer:

	Project level
	Variant level.
	Partition level.
	Item was built successfully.
	Item was not built successfully.
	Item is a project output - an ARM executable (.AXF).
	Item is the output of a build step,, but has not been built successfully.
	Item is a project (a sub-project of the current project).
	Item is a C source file.
	Item is a C++ source file.
	Item is an ARM assembler source file.
	Item is a C include file.
	Item is an object file.
	Item is a library file.
	Item is an unknown file type.


Project Window

The Project Window is divided into three main panes:

Project viewer

Build log

Command and status bar.

Related Topics

APM Windows


Removing a File from a Project
To remove a file from a project:

1.	Select the file from the project view.

2.	Remove the file:

Select Remove filename.x from project.apj from the Edit menu.

Press Delete.

Tip:	Multiple files can be removed by clicking on the files in the project view while pressing Shift or Ctrl.


Removing a Partition from a Build Step Pattern
To remove a partition from a build step pattern:

1.	Select the Build Step Pattern from the Project Template Editor dialog.

2.	Click the Edit button. The Build Step Pattern dialog is displayed.

3.	Select the pattern line from the list in the Input or Output Partition group. The selected pattern is loaded on the edit line.

4.	Click the Delete button to remove the pattern.

5.	Change the Command Line if required.

6.	Click the OK button to save the changes and exit the dialog.

Related Topics

What is a Build Step Pattern?

What is a Partition?

Editing a Build Step Pattern

Adding a Build Step Pattern


Removing a Variant from a Project
To remove a variant from a project:

1.	Select the variant from the project view.

2.	Remove the variant:

Select Remove "variant" Variant from project.apj from the Edit menu.

Press Delete.

Tip:	Multiple files can be removed by clicking on the files in the project view while pressing Shift or Ctrl.

Related Topics

What is a Variant?


Resetting a Tool's Configuration
To reset a tool's configuration:

For any entity, you can reset the configuration of a tool to be the same as for the entity immediately above it in the hierarchy (that is, the parent).

1.	Click on the entity (for example, the Debug variant in the Project Window) to select the scope for the configuration change.

2.	Select Tool Configuration from the Project menu, then select the tool to be configured. The Tool Configuration sub-menu is displayed. If there is a configuration setting for the selected scope, the Unset menu item is enabled.

3.	Click on the Unset menu item. The tool configuration is reset to be the same as that for the parent entity.

4.	If you want to revert to system-wide settings, you must select all the entities with non-standard settings and use the Unset option.

Related Topics

Editing a Tool's System-Wide Configuration

Editing a Tool's Configuration Within a Project


Specifying Input and Output Patterns

A build step pattern uses simple pattern expressions to describe:

the inputs to which it can be applied.

the outputs it will generate.

the command line(s) that will be used to generate those outputs.

When a file is added to a project, APM sends for an input pattern expression to match the file's extension. If a match is found, the pattern variables used in the input pattern become defined and are used to generate output file names. When the project is built, the same variable values are used to generate command lines for the tools invoked by the build step pattern.

Related Topics

What is a Build Step Pattern?

Editing a Build Step Pattern

Editing a Variable

Input Pattern Expressions

Output and Command Line Pattern Expressions


Starting the Project Manager
 To start the Project Manager:

You can start the ARM Project Manager in the following ways:

Windows 95/98:	Select ARM Project Manager from the ARM SDT V2.50 Program folder.

Windows NT:	Double-click on the ARM Project Manager icon in the ARM SDT V2.50 Program group.

Alternatively, you can select ARM SDT V2.50 and then ARM Project Manager from the Start/Programs menu.

Related Topics

Getting Started


Stopping Project Build
 To stop building a project:

Select Stop Build from the Project menu.

OR

Click the Stop Build button.

The build is stopped after the build of the current item.


Table of Contents

Introduction

ARM Project Manager

Getting Started

ARM Project Manager Functions

Start the Project Manager

About Creating Projects

Working with Source Files

About Build Steps: Assembling, Compiling, Linking and Building

About Correcting Problems

Working with Templates

Working with Build Step Patterns

Reference

APM Terminology

APM Toolbar

APM Shortcut Keys

APM Status Bar

APM Windows

APM Dialogs


Template Editor Dialog
Project Template Editor Dialog

Organizes the build step patterns and contains the project template details.

Select Build Step Pattern	Lists the build step patterns associated with the current template.
Edit	Displays the Edit Build Step Pattern dialog with the details of the selected build step pattern loaded.
New	Adds a new build step pattern to the template. The Create a New Build Step Pattern dialog is displayed.
Delete	Removes the selected build step pattern from the template. The Confirm Delete message box is displayed.
Edit Details	Displays the Edit Template Details dialog, to change the title and the description of the project.
Exit	Exits the Project Template Editor dialog.
Accessed by selecting Edit Project Template from the Project menu.

Related Topics

What is a Project Template?

Editing a Template

Editing a Template's Details

Editing a Build Step Pattern


Tool Configuration Dialog

The appearance of this dialog depends on the tool (for example, compiler or assembler) being configured. Tools that are APM compliant (for example, armcc, tcc, armasm, tasm, armlink) respond by displaying their configuration interface. For most ARM tools this consists of sets of property sheets from a .DLL associated with the tool.

If APM can't find the necessary set of entry points, either because the tool doesn't have one or because APM failed to locate the tool .DLL (for example, if the tool was not installed properly), an error occurs. You must add the tool using a build step pattern and change any settings in the Command Line field in the Failed to Locate the Tool dialog.

As you change the settings, the modifications are reflected in the Equivalent Command Line text box at the bottom of the dialog. When you have made the necessary modifications, click the OK button to save or click the Cancel button to retain the original settings.

Accessed by:

selecting Configure from the Tools menu, then tool name  to make changes that affect the use of the tool in every project.

selecting Tool Configuration for scope from the Project menu, then Set, where scope indicates the project level the configuration settings will affect.

Related Topics

Adding a New Tool

Adding a New Build Step Pattern

Failed to Locate the Tool Dialog

Editing a Tool's System-Wide Configuration

Editing a Tool's Configuration Within a Project

Resetting a Tool's Configuration


Tools Menu

The Tools menu offers the following options:

Configure	Configure the tool selected from the sub-menu or configure a new APM compliant tool. The Choose Tool dialog is displayed.
APM	Change the basic options that control how APM behaves. The APM Preferences dialog is displayed.
Editor	Change the settings used by the text editor or specify that Premia CodeWright 4/5 should be used as the default editor. The Editor Preferences dialog is displayed.


Unable to Add Files Message Box

This dialog is displayed if you add a file with a type that is not associated with a partition and you have not selected a partition.

File list	List of all the files that you selected to add to the project which have not been added because the file types were not associated with a partition.
OK	Closes the message box.
Related Topics

Adding Files to a Project


View Menu

The View menu offers the following options:

Next Error	Locates the next error, loading the file where the error was indicated. Available only after a build.
Previous Error	Locates the previous error. Available only after a build.
Contents	For an object, image or library, the decaof, decaxf or armlib viewer displays information for the selected file.
Build Log	Toggles display of the build log pane. (This pane is always displayed during a build or build step.)
Variants	Toggles display of the variant level in the project view.
Dependencies	Toggles display of dependencies, as they relate to other files (included files are still shown in the appropriate partition).
Toolbar	Toggles display of the toolbar.
Status Bar	Toggles display of the status bar.
Related Topics

Changing the APM Display

APM Windows

APM Shortcut Keys


View Window

The View Window is used to display the contents of a binary file (for example, object or image file) using the decaof or decaxf or armlib translator.

Accessed by selecting a .o or .axf file, then selecting Contents from the View menu.

Related Topics

decaof Command Line Options

decaxf Command Line Options


Viewing Dialog
Viewing filename Dialog

This dialog is used to specify any options to be used when displaying object image or library files using decaof, decaxf or armlib.

Accessed by selecting an object, image or library file from the project hierarchy, then selecting Contents from the View menu.

Related Topics

Viewing an Object, Image or Library File

decaof Command Line Options

decaxf Command Line Options

View Window


Viewing a Project
To view a project:

When you start APM, the project(s) and/or file(s) that were left open when you shut APM down are loaded in the Project Window.

To load another project, select Open from the File menu or make a selection from the recent opened file or project lists at the bottom of the File menu.

To change how the project view is displayed, select Dependencies and/or Variants from the View menu.

Click on a variant or partition in the Project Window to expand the project hierarchy tree, (you can also click the [image] or [image] symbols, or select an item and press the plus/minus keys on the keypad).

Double-click on a file to examine its contents.

Various arrow keys and numeric keypad keys act as shortcut keys, allowing you to expand or collapse the display of the levels of a project. See APM Shortcut Keys for details.

Related Topics

APM Windows

What is the Project Hierarchy?


Viewing an Object, Image or Library File
To view an object, image or library file:

1.	Select the file from the project view.

2.	Select Contents filename.xxx from the View menu. The appropriate Viewing dialog is displayed.

3.	Enter any command-line options required.

4.	Click the OK button.

The selected file is displayed in a View Window, in the selected format.

Related Topics

decaof Command Line Options

decaxf Command Line Options

View Window


What is a Build Step Pattern?

A build step pattern:

associates a tool or tools (for example, armcc or armlink) with a build step within a project template.

defines the inputs and outputs associated with a build step.

associates the file types conventionally used and generated by a tool with the partitions used to organize the project.

defines the command line(s) to be used by the tool(s) when the build step is executed during the building of the project.

Related Topics

Working with Templates

Working with Build Step Patterns


What is a Build Step?

A build step is a step in the build process that contributes to the project output. Usually, a build step generates one file or a group of related files. The action(s) performed in a build step are defined by a build step pattern within the project's template. The build step pattern also defines what type of file is acted on by each build step. Typical build steps include compiling, assembling, linking or building a sub-project.

Related Topics

Working with Templates

Working with Build Step Patterns


What is a Build?

A build (or force build) is the processing of the files in a selected variant through a number of build steps. A build or force build executes the build steps required to create the project's output. A build executes a build step only if some input to it is newer than its outputs; a force build executes all build steps.

The actions performed in the various build steps and the nature of the project output(s) are determined by the project's template. The project template also partially determines the build order (for example, Compile steps must take place before Link steps).

Related Topics

Building a Project

Force Building a Project


What is a Partition?

A partition is similar to a directory structure that you might use to separate the various files that make up your project. Partitions help to control the effect of adding a file to a project. The partitions created for a project are determined by the project template. The partitions used by standard APM templates include:

Image/Library	Contains the project output of your build as specified in the project template.

Libraries	Contains any libraries that are to be used by the project.

IncludedFiles	Contains any files included by the sources used by the project.

SubProjects	Contains other projects that are to be used in the construction of the project output. If the project output from a sub-project is a library, the library file is built in the Libraries partition.

Objects	Contains the object files built from the sources.

Sources	Contains source files used to build the project output. Other source partitions  may be added depending on the template, such as THUMB-C, ARM-C, ASM-Sources.

Misc	Anything else you want to add to a project.

Note:	There is no restriction on the names that you can use for partitions, this list is only an example of the sorts of names that can be used.

Files are simply associated with a partition, they are not physically moved to a partition when they are added to a project. A partition is only a construct of APM

Related Topics

Project Directory Structure

What is the Project Hierarchy?


What is a Project Template?

A project template defines how a particular type of project output is built. A template uses build step patterns to describe how various tools work together to construct the project output from a set of source files.

Standard templates are provided with APM, and can be modified as needed to meet the requirements of your projects.

Related Topics

Working with Templates

Working with Build Step Patterns


What is a Project?

An APM project is a description of how to build something (the project output), such as an image or object library, and a list of the files you need, such as source files, include files, and any sub-projects.

APM defines the instructions and the project output using a project template. A template is made up of build step patterns that define the build steps used when you construct your project's output.

The source files and the files generated by the build steps are organized into a project hierarchy using partitions. APM uses variants to create different versions of your project output/s, such as a debug version and a release version (the defaults).

Project templates give you a great deal of flexibility when you build your project output. You can use a project template provided with APM or you can construct your own templates. You can modify a project template by adding tools and changing how they are executed when the project is built. You can modify variables at any level in the project hierarchy to change how specific files are handled in the various build steps. You can also create additional variants to meet your project's requirements.

Related Topics

Creating a New Project

Changing a Project Name


What is a Source File?

Source files are the basic building blocks of a project. The default APM templates recognize a number of source file types. They are represented by symbols in the Project Window, as follows:

	C source file.
	C++ source file.
	ARM assembler file.
	Include file.
	Sub-project. This is also a type of source file, contributing its own project output to the current project.
	File type is not known to APM.
When a source file is added to a project, it is not moved from its original location in the file system. Its location is referenced from the project file. APM tries to refer to files relative to the project directory structure rather than absolutely. You can set the variable $$DepthOfDotAPJBelowProjectRoot to increase the scope of the directories that are considered a part of the project.

Note:	If a project might be moved from machine to machine, the directory structure containing it must remain consistent, or files required to build the project cannot be found by APM.

Related Topics

Working with Source Files

Adding Files to a Project


What is a Sub-Project?

A sub-project is simply an APM project that has been added to another project. For example, if you have a project that builds a library, it could become a sub-project of a project that makes an image using routines from that library. In the basic templates supplied with APM, sub-projects are added to the SubProjects partition.


What is a Variable?

A variable holds a value used by either APM or by a build step pattern to specify a changeable aspect of your project, such as file name or directory path. A variable prefixed with '$' is read-only, a variable prefixed with '$$' has side effects on the actions of APM. A variable containing a '$' (for example, path$Debug) has a standard purpose defined by APM.

Variables can be set for any level of the project hierarchy.

The standard variables are:

$$DepthOfDotAPJBelowProjectRoot
Affects how a file's location is resolved within the project's directory structure.

$$ProjectName
Initially set to "", you change the value of this variable to change the name of the project.

$projectname
Contains the project's name. (read only)

path$variant
The path used to specify the variant's directory, created as a sub-directory of the directory where the project file is located. This value can be changed if necessary.

config$tool
These variables store encodings of a tool's configuration or command-line arguments for tools that are not configurable.

Note:	User-defined variables cannot begin with $.

Related Topics

Editing a Variable

Changing a Project Name


What is a Variant?

You can use variants to create different versions of your project output(s) from the same source files. Typically you would use variants to create a debug-release version, or separate debug and release versions of your project output. By changing variant level variables you can control how the project output for the variant is built.

The derived files (for example, object files, the project output) created by APM when you build a project are created in a subdirectory (for example, Debug) of the project directory (the project root directory is specified when you create the project).

Note:	For this release of APM it is not possible to add a source to only one variant of your project.

Related Topics

Adding a New Variant to a Project

Project Directory Structure

What is the Project Hierarchy?


What is the Project Hierarchy?

A typical project hierarchy defines the structure of your project in the following order:

Project
(my_proj)

Variant
(for example, Release or Debug)

Partition
(for example, Target, Dependencies, Source)

File
(for example, sub-proj.apj, my_source.c,
my_source.o, sub-proj.o)

When you build a project using different tool configurations or variable values, variant settings take precedence over project settings, partition settings take precedence over variant settings and file settings take precedence over partition settings.

When you display the contents and structure of a project, various arrow keys and numeric keypad keys act as shortcut keys, allowing you to expand or collapse the display of the levels of the project. See APM Shortcut Keys for details.


What is the Project Output?

The output of a project is typically a single file or a closely related group of files, for example, a program image or an object library. The output is determined by the underlying project template, specifically by one or more of the template's build step patterns. A different version of the project output is created for each variant built (for example, a debug-and-release version, a debug version, and a release version).

Related Topics

Changing a Project Name


Working with Build Step Patterns

A build step pattern controls how a specific tool works within the project environment, and it specifies how a particular file type is handled within that environment. It controls how a tool transforms its input into output as an intermediate step in building the project output. A build step pattern has a global effect within a project. However, using variables, you can change that effect at the source, partition or variant level of the project hierarchy.

Note:	A build step pattern can use one or more tools, process one or more input files and can produce one or more outputs.

Related Topics

Adding a New Build Step Pattern

Specifying Input and Output Patterns

Editing a Build Step Pattern

Removing a Partition from a Build Step Pattern

Editing a Tool's Configuration

Editing a Variable

Editing a Template


Working with Source Files

APM has a built-in editor that you can use to create and edit source files, or you can use Premia CodeWright Version 4/5.

You can build your source file from within the editor; any messages from the build tool are written to the build log.

Related Topics

What is a Source File?

Editor Preferences Dialog

Creating a New Source File

Performing a Single Build Step

Adding Files to a Project

Editing a Source File


Working with Templates

When you create a new project, you select a template that defines the tools to be used, how the project's files are to be organized into partitions, and the variants that can be built. By adding your source files to a project template, you can easily build your project output.

However, if your project requires something different, you can modify a project template after the project has been created or you can create your own master templates.

When you have created your project, you can add new tools, remove unused tools and edit the build step patterns to suit your needs. These changes have a global effect across your project, but do not effect the master template you used when you created your project.

If you need finer control, for example to compile a sub-set of your sources in a particular way, you can use tool configuration settings and/or variables to change the way a single source, or a group of sources, is handled. For example, you could create an additional source partition and change the configuration of the tool used on files added to that partition so that they are built differently from the sources in the original source partition or you could even use a different compiler.

Finally, if you know you need to create a number of projects that require a framework that is not supported by the supplied master templates, you can create your own master template. To create a master template, simply take an existing template, save it to a new file in the ARM\Templates directory, then make the required changes. The new template is added to the list presented when you create a new project.

Note:	You are advised to create new templates based on the APM templates provided, rather than modify the master templates supplied with APM.

Related Topics

Editing a Template

Editing a Template's Details

Adding a New Variant to a Project

Adding a Build Step Pattern

Editing a Build Step Pattern

Editing a Tool's System-Wide Configuration

Editing a Tool's Configuration Within a Project

Editing a Variable

Editing a Path

Working with Build Step Patterns


build
A build converts the project source files into the project output using build steps.

For more information, see What is a Build?


build step
A build step is an intermediate step in the build process which contributes to the project output. Typical build steps include compiling, assembling, linking or building a sub-project.

For more information, see What is a Build Step?


build step pattern
A build step pattern is how a tool, input files and output files are specified for a build step.

For more information, see What is a Build Step Pattern?


decaof Command Line Options
decaof Command-line Options

decaof, decodes AOF (ARM Object Format) files such as those produced by armasm and armcc.

The options that can be specified are:

-a	Displays area contents in hex (and implicitly includes -d).

-b	Displays on the area declarations (brief).

-c	Disassembles code areas (and implicitly includes -d).

-d	Displays area declarations.

-g	Displays debug areas formatted readably.

-q	Gives a quick report of the area sizes only.

-m	Displays mangled symbols.

-r	Displays relocation directives (and implicitly includes -d).

-s	Displays symbol tables.

-t	Displays string tables.

-z	Displays a one-line code and data size summary per file.

-	Displays only the specified area

Related Topics

Viewing Dialog

Viewing an Object, Image or Library File


decaxf Command Line Options
decaxf Command-line Options

-c	Disassembles code areas

-g	Prints debug areas

-s	Prints symbol table.

ELF files only:

-t	Prints string table

-d	Displays data section contents

-r	Displays relocation information.

Related Topics

Viewing Dialog

Viewing an Object, Image or Library File


partition
A partition is similar to a directory structure that you might use to separate the various files that make up your project.

For more information, see What is a Partition?


project
A project provides the details of how to build something, such as an image or object library, and a list of the files needed, such as (source files, include files and sub-projects .

For more information, see What is a Project?.


project hierarchy
A project hierarchy defines the structure of your project.

For more information, see What is the Project Hierarchy?


project output
The output of a project is typically a single file or a closely related group of files, for example, a program image or an object library.

For more information, see What is the Project Output?


project template
A project template defines how a particular type of project output will be built. A template uses build step patterns to describe how various tools work together to construct the project output from a set of source files.

For more information, see What is a Project Template?


source file
Source files are the basic building blocks of a project, and are typically text files containing code.

For more information, see What is a Source File?


sub-project
A sub-project is simply an APM project that has been added to another project.

For more information, see What is a Sub-Project?


variable
A variable holds a value used by either APM or by a build step pattern to specify a changeable aspect of your project, such as file name or directory path.

For more information, see What is a Variable?


variant
Using variants you can create different versions of your project output(s) from the same source files.

For more information, see What is a Variant?