Project importing made easy

Posted on July 20, 2016

SOMNIUM DRT is is a set of development tools for ARM Cortex-M based devices [such as the Kinetis and LPC devices from NXP and the STM32 devices from STMicroelectronics]. It is based around, and fully compatible with, industry-standard tools such as the GNU toolchain and Eclipse IDE. DRT uses our patented techniques to produce highly optimized code by exploiting information about the embedded processor, the memory system and other peripherals to deliver improved performance and lower code size. It also includes some great debugging tools such as trace, live expressions and fault diagnosis.

We realised from the beginning that it was essential to make it easy for users to import a project from their current development system and use it in DRT. This could be for initial evaluation and then to support longer term migration to DRT. To support this we provide the SOMNIUM DRT Advanced Import wizard. This takes an existing project and imports it, making any changes necessary to make the project compatible with DRT. We are constantly adding to the list of development systems that DRT is able to import from.

The DRT Advanced Import wizard has to do a lot more than the standard Eclipse import tool. Because each IDE stores it's project settings differently, the importer has to map these onto the corresponding DRT settings. It also converts any incompatible toolchain settings into the DRT equivalents (which may mean removing them, in some cases). Finally it will add any settings required by DRT, such as the --somn-device option, which specifies the target device.

As well as the project properties, the importer may need to make source code changes. The most common one is to add an implementation of the _sbrk() function. This is not included in the standard DRT run-time library to provide more flexibility in the implementation (a standard implementation is provided for new or imported projects).

Most of the conversions are done internally by the advanced import wizard. After the project is imported, any further changes are handled by automatically invoking the new SOMNIUM quick fixes. These check a number of project properties and apply corrections.

In most cases, the imported project should build with no further changes. Your project will immediately benefit from the superior optimization provided by the DRT toolchain. You will also have access to the advanced debugging features in DRT.

In the case of CodeWarrior, the conversion is only fully automatic for projects that use the standard GNU toolchain.

For other projects that use the older Freescale ("legacy") toolchain, there will be some manual conversion required afterwards. This is because the legacy toolchain uses header files, linker scripts, startup code and run-time libraries that are not GNU-compatible. However, it is quite easy to create a "template" project in CodeWarrior that provides an instant source for the files and settings needed to finish the conversion from legacy CodeWarrior to GNU-compatible DRT. We have created a video to demonstrate this process.

A free trial of DRT is available. DRT provides automatic import of projects from other Eclipse-based development environments, making it simple to evaluate. Download your free trial today and try out DRT's optimization and powerful debug features for yourself.


Download a free trial of SOMNIUM DRT

   Got a question?