This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: vectors.S with ARM thumb mode


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]