7.5. ARM-Thumb interworking with the ARM Project Manager

The ARM Project Manager (see Chapter 2 ARM Project Manager) uses templates to define the tools and command-line options that are used to build a project. All templates supplied with APM that build executable images can support interworking.

The Thumb-ARM Interworking Image template specifically allows an interworking application to be created. It assumes that armasm -16 is used for all assembly language sources, and that the assembler directives CODE16 and CODE32 are used to switch between Thumb and ARM instruction sets. C and C++ sources are compiled using the appropriate ARM or Thumb compiler.

Additionally, projects created from either the ARM Executable Image template or Thumb Executable Image template may be easily modified to support interworking with Thumb or ARM code respectively. For example, an ARM-only application can easily be made into an ARM-mostly project and a Thumb-only project can easily be made into a Thumb-mostly project.

A Thumb application written only in C that must implement exception handlers will, by architectural necessity, have these in ARM assembly code and should probably be created using the Thumb Executable Image template.

Copyright © 1997, 1998 ARM Limited. All rights reserved.ARM DUI 0040D
Non-Confidential