This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: vectors.S with ARM thumb mode
- From: Jürgen Lambrecht <J dot Lambrecht at televic dot com>
- To: Gary Thomas <gary at mlbassoc dot com>
- Cc: eCos Discussion <ecos-discuss at ecos dot sourceware dot org>
- Date: Wed, 03 Jan 2007 12:26:59 +0100
- Subject: Re: [ECOS] vectors.S with ARM thumb mode
- References: <459A81F4.5040009@televic.com> <459A847D.8040603@mlbassoc.com>
Gary Thomas wrote:
Jürgen Lambrecht wrote:
To get ecos compiled with thumb mode enabled, I had to remove the LED
code (LED 3, LED 2, LED 1) in
platform/hal/arm/arch/current/src/vectors.S.
Does anyone know why?
You'd have to look at the platform specific macro 'CYGHWR_LED_MACRO'
Most likely, it does things in a non-thumb compatible way.
What's the target/platform?
platform is based on the eb55
processor is AT91M55800A
The LED macro's are the same as the eb55 ones, except for the location of the pins:
.macro _led_init // called in macro _setup
ldr r0,=AT91_PIOB
mov r1,#0x0FF00000 // EXT_GPIO1-2, NC,NC, STATUS_LED4-1
str r1,[r0,#AT91_PIO_PER] // PIO enable
str r1,[r0,#AT91_PIO_OER] // PIO output enable
_led 15 // all LEDs on
.endm
.macro _led y
ldr r0,=AT91_PIOB
mov r1,#0x0FF00000
str r1,[r0,#AT91_PIO_SODR] // Set out bits => LEDs off
mov r1,#(\y<<20)
str r1,[r0,#AT91_PIO_CODR] // Clear out bits => LEDs on
.endm
Kind regards,
Juergen
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss