mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Nach umstieg von RAM auf Flash gehen die Interrupts nicht mehr


Autor: Star Keeper (starkeeper)
Datum:

Bewertung
0 lesenswert
nicht 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:
MEMORY
{
  CODE (rx) : ORIGIN = 0x40000000, LENGTH = 0x00040000
  DATA (rw) : ORIGIN = 0x20000000, LENGTH = 0x00010000
  EXTDATA (rw) : ORIGIN = 0x60000000, LENGTH = 0x00400000
}

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?

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau kann ichs nicht sagen, aber ich würde vermuten, dass die 
Interrupts noch immer ins RAM zeigen? Dort ist aber kein Code und so 
hängt sich das Programm auf?

Ich hab von ARM noch nicht so viel Ahnung, bin noch am einarbeiten aber 
das klingt für mich plausibel ;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.