12.13.3. Working with Container projects

A Container project uses only a subset of the project settings. The project settings file contains a single group, the PROJECT group, that holds a list of subprojects. When you open a Container project, RealView Debugger opens the associated subprojects, shown in Figure 12.20. This means that, by definition, you are working with multiple projects.

For a Container project, the order of the subproject list defines the order in which the subprojects open and build. You must specify the subproject list, therefore, in order of dependency.

See Steps for creating a Container project for details on how to create a Container project.

If you open a Container project:

Note

A Container project cannot be autobound but subprojects, held in the PROJECT group, can define one or more specific device binding settings. Therefore, a Container project cannot open and bind to the connection if there is an autobound project already bound to the connection.

Working with the Project Control dialog box

You can perform actions on one or more of the subprojects that make up a Container project from the Project Control dialog box, shown in Figure 12.20, for example add new source files. You can access project properties for any subproject or control subproject binding.

Figure 12.20. Container projects in the Project Control

Container projects in the Project Control

In Figure 12.20, there are five projects in the open project list. The active project is shown at the top of the list and is selected by default. This has been changed to be the default active project, see Changing the active project for details.

The Container project is bound to the connection, ARM7TDMI_0:ARM-ARM-USB. It defines two subprojects, shown by the plus sign appended to the entries. Both are open but unbound. In this example, the two subprojects are not Container projects.

You cannot add files to a Container project, only to a subproject. To do this, use the Project Control to make the subproject active. For details see:

If you close a Container project, all subprojects close automatically. However, you can close one or more subprojects while keeping the Container project open. If you try to build a Container project where one of the subprojects is closed, this operation fails.

Note

The Container project defines the current working directory. This defines relative pathnames when you make changes to subprojects within the Container project.

Nesting Container projects

Container projects can be nested but not recursive, that is a Container project can include other Container projects but must not include itself. However, the nested Container project has no makefile and so any build fails.

If you open a Container project that defines a Container subproject, the Project Control dialog box shows a second level in the hierarchy.

Do not open a nested Container project if one of the subprojects is already open. Close the component project first so that the display is consistent.

Copyright © 2003, 2004 ARM Limited. All rights reserved.ARM DUI 0234B
Non-Confidential