Nach umstieg von RAM auf Flash gehen die Interrupts nicht mehr

OP #1249070
Lesenswert?

Hi,
ich arbeite hier an einem STR710, das ist ein ARM7. Auf meinem Board ist 
ein externes RAM untergebracht. In diesem habe ich bisher immer den Code 
geladen und debuggt.
Nun ist eigentlich alles soweit fertig, dass ich umsteigen möchte auf 
das Flash. Dazu habe ich das Linker-file angepasst, sodass die 
Code-Section nun im Flash liegt. Außerdem habe ich noch eine weitere 
Section angelegt für das externe RAM.

Das ganz sieht jetzt so aus:
1
MEMORY
2
{
3
  CODE (rx) : ORIGIN = 0x40000000, LENGTH = 0x00040000
4
  DATA (rw) : ORIGIN = 0x20000000, LENGTH = 0x00010000
5
  EXTDATA (rw) : ORIGIN = 0x60000000, LENGTH = 0x00400000
6
}

In den Bereich EXTDATA habe ich nur die Section .bss geschoben. Also die 
nicht zu initialisierenden Daten. Alles andere ist im Flash oder dem 
internen RAM.

Das programm kann ich mit OpenOCD auch flashen und nach einem reset 
ausführen. Scheinbar funktionieren die Interrupts aber nicht.
Die UART funktioniert (ohne Interrupts) aber sonst geht eigentlich 
nichts. Sobald irgendetwas einen Interrupt auslöst ist Schluß. Es gibt 
keine Reaktion mehr, der Controller resettet sich aber auch nicht.

Hat jemand eine Ahnung was da schief geht? hat jemand nen Plan, wie ich 
mit OpenOCD im Flash debuggen kann?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren