mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik [SAM7] Prog. aus RAM starten


Autor: ToniT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich versuche mich ein wenig an den SAM7 zu nähern. Das WINARM Sample
konnte ich erfolgreich an das Olimex Board anpassen und im Flash
gespeichert starten. Wenn ich nun versuche das selbe aus dem RAM zu
starten bin ich leider nicht erfolgreich :(

Muss ich an meinem Code noch etwas ändern ? Das Makefile habe ich wie
folgt geändert :

## Create ROM-Image (final)
#RUN_MODE=ROM_RUN
## Create RAM-Image (debugging)
RUN_MODE=RAM_RUN

Das BIN File schreibe ich dann mit SAM-BA ins RAM und starte mit "go"
ab Adresse 0x202000.

Ergebniss - Keins :( Ein JTAG habe ich mir leider noch nicht zusammen
gebastelt.

Kennt jemand weitere Codebeispiele für SAM7 und WINARM ? Leider sind
alle AP Notes für IAR und beim Versuch diese ans laufen zu bringen
mache ich mehr Fehler als Fortschritte :(

Insbesondere wäre ich an USB Exsamples interessiert da ich den SAM7
auch aufgrund der USB Unterstützung gewählt habe.

Danke und Gruß

Autor: mthomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann gut sein, dass das Beispiel aus WinARM 8/05 nicht in "RAM_RUN"
funktioniert. Das Linker-Skript fuer "RAM" ist nicht in Ordnung. Ich
hatte im August noch kein SAM7-Board zum Ausprobieren. Fuer "ROM_RUN"
hatte ich eine "es funktioniert" Bestaetigung.
Das Beispiel
http://www.siwawi.arubi.uni-kl.de/avr_projects/arm...
funktioniert auch "im RAM". Allerdings nicht mit SAM-BA getestet.

Martin Thomas

Autor: Dirk Dörr (dirkd)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich hatte vor kurzem ähnliche Problem.

Schau Dir mal diesen Thread an (auch wenn es um JTAG-Wiggler geht):

http://www.mikrocontroller.net/forum/read-1-267330.html#new

Dort findest Du auch den Source + Makefile für ein Projekt, daß im RAM
läuft. Dazu waren Anpassungen am WinARM Beispiel notwendig

Dirk

Autor: ToniT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmmm... jetzt hab ich mir noch einmal das File hier aus dem Forum
geholt. Das Makefile auf "RUN_MODE=RAM_RUN" gesetzt und make
aufgerufen.
Ich sehe auch das als Compileroption -DRAM_RUN genutzt wird. Wenn ich
jetzt das .bin File via SAM-BA ins SRAM schreibe und dann ausführe
funktioniert leider nichts :(

TCL Ausgabe SAM-BA :

(SAM-BA 1.7) 49 % send_file SRAM:: "C:/arm/uart_ram/main.bin"
"0x202000" 0
-I- Send File C:/arm/uart_ram/main.bin at address 0x202000
-I- File size = 2516 byte(s)
(SAM-BA 1.7) 49 % compare_file SRAM:: "C:/arm/uart_ram/main.bin"
"0x202000" 0
-I- Compare File : C:/arm/uart_ram/main.bin with memory at address :
0x202000 , for 2516 byte(s)
-I- Read File at address 0x202000
(SAM-BA 1.7) 49 % go 0x202000
-I- Launch AT91SAM7S64-EK at address 0x202000
-I- USB connection closed
-I- USB connection opened
(SAM-BA 1.7) 50 %

aber weder die Leds leuchten noch habe ich eine Ausgabe vom UART.
Im Flash funktioniert das Proggi ohne Probleme, natürlich nach
anpassung des Makefiles.

Autor: ToniT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@mthomas: Dein Beispiel ist leider für das SRAM vom S64 zu groß :(

Autor: ToniT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kurze Rückmeldung.
Nachdem ich im RAM-Linker Script die Memorydefinition für "DATA" auf
ORIGIN = 0x00202000 gesetzt habe läuft das ganze auch bei mir.

Gruß und Dank

Autor: mthomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>... zu groß

Woduch wird die Aussage belegt? Ausgabe der binutils zeigen "klein
genug" und Tests "hier" waren erfolgreich. Wie geschrieben
allerdings nicht mit SAM-BA ausprobiert, sondern mit der von den
WinARM-Tools erzeugten "RAM-RUN"-elf-Datei in einem kommerziellen
Debugger und upload ueber JTAG-Schnittstelle.

Martin Thomas

Autor: ToniT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vieleicht sollte ich zu groß anders definieren :)

Ich glaube das "zu groß" liegt ein wenig mit an SAM-BA, anscheinend
kann ich mit SAM-BA erst ab 0X202000 auf das SRAM schreiben.

Ich denke wenn ich das SRAM über JTAG ab 0x200000 beschreiben würde
dann sollte es auch wieder passen.

Ist aber erstmal nur ne Vermutung. SAM-BA behauptet halt beim schreiben
ins SRAM das es nicht genug Platz hat.

@mthomas: Auf diesem Wege möchte ich mich mal für Deine wirklich sehr
Informative Website und die vermutlich große menge an Arbeit die du in
WINARM und deine Site steckst bedanken.

:)) Genug geschleimt :))

Gruß und Dank

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.