mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik STM32 und externes RAM


Autor: Holzmichl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo STM32 Experten,

ich wollte per GDB (+OpenOCD oder JLinkGDBServer) ein Progrämmchen (eCos 
hello world) in das externe RAM des STM3210E Boards laden (per 'load'), 
das geht auch ohne Fehlermeldung ab:
Loading section .rom_vectors, size 0x8 lma 0x68008000
Loading section .ARM.exidx, size 0x8 lma 0x68008008
Loading section .text, size 0x968c lma 0x68008010
Loading section .rodata, size 0x234 lma 0x680116a0
Loading section .data, size 0x1a0 lma 0x680118e0
Start address 0x68008010, load size 39536
Transfer rate: 80 KB/sec, 5648 bytes/write.
(gdb) 

Wenn ich dann den Speicher ab 0x68008000 anschaue, stehen da aber nur 
Nullen
drin.

Dasselbe passiert, wenn ich mit JLinkExe einzelne Werte in den externen 
RAM-Bereich schreibe, jeder Wert wird als 0 zurückgelesen.
Ist mein RAM kaputt?
Oder liegt es vielleicht daran, dass die entsprechenden FSMC Register, 
die für die Konfiguration von externem Speicher zuständig sind, zuerst 
initialisiert werden müssen, bevor auf das RAM zugegriffen werden kann?

Habe auch schon versucht, den eingebauten Bootlader zu starten, in der 
Hoffnung, der würde die FSMC Register beschreiben, den zu stoppen und 
und dann das Image mit dem GDB in's ext RAM zu laden.
Hilft aber alles nix.

Danke für jegliche Hinweise.

Holzmichl

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich könnte mir sehr gut vorstellen, dass man das FSMC erst einschalten 
und konfigurieren muss, bevor es sich mit externem RAM verwenden lässt. 
Wenn der JTAG-Loader dies nicht macht, dann kann man damit wohl auch 
nicht direkt ins externe RAM laden.

Der integrierte Bootloader hat keine Ahnung, was für eine Konfiguration 
und Vorgehensweise notwendig ist, um den externen Speicher zu 
beschreiben. Vielleicht lässt sich der OpenOCD/GDB per Konfiguration 
oder Script irgendwie dazu überreden, vorher die Konfigurationsregister 
mit Leben zu füllen.

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.