DataAbort with LPC2000, Rowley and ARM mode
Posted by Nobody/Anonymous on December 8, 2005
Why LPC2000 and Rowley example works only in THUMB? In ARM configuration I got data aborts (just hit run and pause after some time).
I removed Common preprocesor definition THUMB_INTERWORK and put it to THUMB configurations only. No more aborts.
Slawc (slawc at email dot si)
RE: DataAbort with LPC2000, Rowley and ARM mode
Posted by Richard
on December 8, 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.
Copyright (C) 2004-2010 Richard Barry. Copyright (C) 2010-2016 Real Time Engineers Ltd.
Any and all data, files, source code, html content and documentation included in the FreeRTOSTM distribution or available on this site are the exclusive property of Real Time Engineers Ltd..
See the files license.txt (included in the distribution) and this copyright notice for more information. FreeRTOSTM and FreeRTOS.orgTM are trade marks of Real Time Engineers Ltd.