Chapter 7. Upgrading from an earlier eCosPro Eclipse/CDT plug-in

[Note]Note

The Juno release of the eCosPro Eclipse/CDT plug-in for eCos development is dependent on version 3.1.5 of the eCosPro host tools and above. You must ensure these tools are installed prior to installing Eclipse. They include a fix that resolves issues when building the eCos library, as well as introducing new switches in the host tools used by the updated eCosPro Eclipse/CDT plug-in.

Upgrading from Helios to Juno

New and updated features

The Juno releases of Eclipse provides an updated user interface that adopts a more modern visual style, reduces clutter, and uses whitespace rather than extra keylines to separate user interface elements. Tabs and part stacks have been redesigned to reduce emphasis on non-selected tabs and stacks. The workbench now has a global search field in the tool bar. This provides smoother access and integration with the “Quick Access” feature, and may be used in the future to combine other kinds of searches into a single location.

The layout is more flexible. You can now adjust two or more sashes at the same time, stack views and editors together by default, mix views and editors as well as split the editor area to put an editor and a view together and maximise the entire editor area to work with both at the same time. Editors can now also be detached into their own windows.

The presentation of the Debug perspective has been improved with the common debug control commands moved out of the debug view into the global toolbar.

For more details, please read the What's New in Juno pages of the Eclipse documentation.

New plug-in features

The eCosPro Eclipse/CDT plug-in for Juno fixes a number of issues within the previous plug-in as well as introducing a few enhancements.

Multiple eCos configuration files within an eCos configuration project

eCos configuration projects now allow you to add multiple eCos configuration files within a project and specify which configuration file is the active file. More details are provided elsewhere in this documentation.

Integration with the Eclipse background builder

The Eclipse CDT project builder is fully integrated with the Eclipse background builder.

Migrating to Juno

Eclipse projects and workspaces created within the Helios release of Eclipse are are forward compatible with the Juno Eclipse release, but the workspace of a Juno Eclipse release using the eCosPro Eclipse/CDT plug-in is not backwardly compatible with the plug-in from the Helios Eclipse release. This means the Eclipse workspace between releases cannot be shared between the two releases so users are advised to backup or make a copy of their workspace against which the Juno release is run if they wish to continue to run both versions.

Migrating existing workspace

Before migrating a workspace from Helios to Juno you should make a backup of the entire workspace. This can be achieved by making a copy or archive of the workspace directory. This backup is important as you cannot use the workspace with an older release once it has been used by a newer release.

Migrating a workspace from Helios to Juno is achieved simply by selecting the workspace (or copy if you wish to preserve the original) when Eclipse starts, or by selecting the Switch Workspace option within the File menu of Eclipse and selecting the appropriate workspace directory.

Migrating existing projects

While the settings for both eCos configuration projects and eCos application projects are both recognised by Juno, the Discovery Options settings inherited from Helios have been deprecated in Juno. You therefore need to disable these settings and enable it's replacement in all existing eCos application projects, as described below.

[Note]Note

The superscript numbered items in the text below correspond to the red circled and numbered items within the illustration being referred to.

  • To disable the Discovery Options, select the eCos application project Properties and select Discovery Options within the C/C++ Build tree.

  • Within the dialog window as illustrated in Figure 7.1, “Discovery Options Configuration Wide”, uncheck the Automate discovery of paths and symbols1 box for the Debug2 Configuration of the Configuration-wide3 Discovery profiles scope.

    Figure 7.1. Discovery Options Configuration Wide

    Discovery Options Configuration Wide


  • As illustrated in Figure 7.2, “Discovery Options Per Language”, select Per Language3 within the Discovery profiles scope and uncheck Automate discovery of paths and symbols1 for eCos gcc, eCos g++ (for C++ Projects) and Unknown by selecting each of these in turn in the Tools2 list.

    Figure 7.2. Discovery Options Per Language

    Discovery Options Per Language


  • Repeat the above two steps for the Configuration-wide and Per Language Discovery profiles scope for the Release4 Configuration.

If you do not disable this discovery process, you may occasionally encounter the error “Program gcc not found in path” (or g++) when building an eCos application project. This error normally may be worked around by deleting the error marker and restarting Eclipse.

You must now enable the eCosPro Settings provider for the project. This may be found under the eCos application project Properties and C/C++ General tree under Preprocessor Include Paths, Macros etc. and the Providers tab as illustrated in Figure 7.3, “eCosPro Settings Provider”.

Figure 7.3. eCosPro Settings Provider

eCosPro Settings Provider


Ensure that the Enable language settings providers for this project1 box is checked as well as the eCosPro Settings2 box. Additionally ensure that the eCosPro Settings2 is also checked for the Release Configuration, not just the Debug Configuration as illustrated above.

Upgrading from releases prior to Helios and Juno

New and updated features

The Helios and Juno releases of the eCosPro Eclipse/CDT plug-ins represent a major overhaul of the eCos-specific functionality compared to releases prior to 2010, including significant improvements to user-friendliness.

eCos configuration projects

We have created a new project type to hold and build eCos configurations. More details are provided elsewhere in this documentation.

eCos application projects

Creating an eCos application project uses broadly the same wizard as before.

  • We have added an eCos-specific page to this wizard which requires you to select an eCos configuration project. As a convenience you may instead opt to create a new configuration project or import a .ecc file at that time, which causes further relevant wizard pages to appear.

eCos application projects now require to be linked (in Eclipse terminology, contain a reference) to an eCos configuration project. Whatever the source of your configuration project, the wizard sets this up for you.

  • This project reference allows Eclipse's context-sensitive indexing, popup help text and autocompletion to work properly.

    • For example, type part of a function name and press Ctrl+Space. Eclipse offers you a list of possible completions

  • The toolchain prefix and architectural compiler flags are automatically detected based on the eCos configuration.

Debugging

The debugger interface has been overhauled for compatibility with the new Eclipse Debugger Services Framework.

  • The wizard page for a new eCos application project also offers to create a launch configuration to permit debugging of your project.

    • The debug configuration is fully preconfigured for a remote launch to a board running RedBoot or GDB stubs, connected by TCP or serial line.

    • Where eCos has been built for the Linux synthetic target, the debug configuration instead redirects to launching as a local application.

    • Further eCos-specific launch configurations may be created conveniently by a menu option.

  • Support for hardware assisted debug (JTAG etc.) has been retained and is accessed via the same interface as before.

Migrating pre-Helios projects

The new plug-in represents a compatibility break with older versions of the eCosPro Eclipse/CDT plug-in. In general we recommend that you create new eCos application projects wherever possible. This is more convenient than the manual process described below.

Migrating from the legacy eCosPro Eclipse/CDT plug-in

We recommend that you create new eCos application projects and migrate your source code to them wherever possible. Nevertheless it is possible to migrate an existing C/C++ project to the new system with the following steps:

  1. If you have not already done so, create a new eCos Configuration Project by importing your existing .ecc file.

  2. Open up your existing application project and its Properties dialog (right-click, Properties)

  3. Open the C/C++ Build group and click on the Tool Chain Editor page. Set the toolchain to be "eCos toolchain" and the builder to be "eCos application project builder".

  4. Ensure that the Discovery Options have been turned off and the eCosPro Settings provider has been turned on as described in the section “Migrating existing projects” earlier in this document.

  5. On the Build Variables page, delete the user macro entitled eCosInstallDir. (It should remain as a system variable.)

  6. Switch to the Project References page and set a reference to the configuration project to use. Press OK.

  7. If desired, use the eCos menu to set up a debug/launch configuration.

[Caution]Caution

This migration path is not well tested. Wherever possible we recommend that you create new projects via the wizard and import your source code into them.

Upgrading from the 2010 beta

Users with projects created in the beta version of this plug-in (version 1.0.3, which was made available to selected parties in mid-2010) can upgrade via the same process, but may ignore steps 3 and 5.