Forum: Compiler & IDEs LPC2138 mit WINARM


von Sebastian (Gast)


Lesenswert?

Hallo zusammen,
ich habe folgendes Problem:
Ich benutze die winIDEA Entwicklungsumgebung und habe den Makefile (als 
extern) von den WINARM Projekt eingeführt.
Nehme ich jetzt ein Projekt für diesen Makefile (lpc2138_uart0_irq) kann 
ich es kompilieren und das Programm läuft ohne Probleme.
Ändere ich jetzt das Programm, indem ich einen Timer mit einer 
Interruptroutine initialisiere gibt es Probleme.
Beim Debuggen sieht man das das Programm immer an einer bestimmten 
Stelle im "Linker File Script crt.o" stoppt.
Hier der Auszug:
Das Programm stoppt im letzten Absatz.

// Runtime Interrupt Vectors
// -------------------------
Vectors:
        b     _start                    // reset - _start
        ldr   pc,_undf                  // undefined - _undf
        ldr   pc,_swi                   // SWI - _swi
        ldr   pc,_pabt                  // program abort - _pabt
        ldr   pc,_dabt                  // data abort - _dabt
        nop                             // reserved
        ldr   pc,[pc,#-0xFF0]           // IRQ - read the VIC
        ldr   pc,_fiq                   // FIQ - _fiq

#if 0
// Use this group for production
_undf:  .word _reset                    // undefined - _reset
_swi:   .word _reset                    // SWI - _reset
_pabt:  .word _reset                    // program abort - _reset
_dabt:  .word _reset                    // data abort - _reset
_irq:   .word _reset                    // IRQ - _reset
_fiq:   .word _reset                    // FIQ - _reset

#else
// Use this group for development
_undf:  .word __undf                    // undefined
_swi:   .word __swi                     // SWI
_pabt:  .word __pabt                    // program abort
_dabt:  .word __dabt                    // data abort
_irq:   .word __irq                     // IRQ
_fiq:   .word __fiq                     // FIQ

__undf: b     .                         // undefined
__swi:  b     .                         // SWI
__pabt: b     .                         // program abort
__dabt: b     .                         // data abort
__irq:  b     .                         // IRQ
__fiq:  b     .                         // FIQ
#endif
        .size _boot, . - _boot
        .endfunc

Worin kann das Problem liegen?
Kann es da irgendwelche Probleme mit Adressen geben?

Ich danke für jede Antwort.
Sebastian

von A.K. (Gast)


Lesenswert?

> Das Programm stoppt im letzten Absatz.

Exakt wo?

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.