rtel wrote on Thursday, December 08, 2005:
The ARM7 GCC port used by both the LPC2000 (GCC) and Rowley demos supports both ARM and THUMB modes.
The Rowley demo is configured just to make use of the THUMB code as this is the most common configuration.
The (command line) GCC demo for the LPC2106 provides an example of how to switch between ARM and THUMB modes. Take a look at the ROM_THUMB.bat and ROM_ARM.bat files in the Demo/ARM7_LPC2106_GCC directory. These set up environment variables used during compilation to produce either ARM/THUMB interworking, or purely ARM output. If you search for THUMB_INTERWORK and USE_THUMB_MODE in the source/make files then you will see the differences these environment variables make - which is very minimal.
When THUMB interworking is used tasks are setup to initially run in THUMB mode, otherwise they are setup to start their execution in ARM mode.