ARM-Programm läuft nicht aus Flash

OP Persönliche Seite #1115355
Ich habe mal mein verstaubtes AT91SAM7S256 board und den Wiggler raus 
gekramt und CrossWorks for ARM 1.6 installiert.

Hab den Code vom S65 display mal ganz schnell und dreckig konvertiert, 
kompiliert und lief auch soweit.

Aber obwohl ich die build configuration auf "ARM Flash Release" gestellt 
habe ist nach einem Reset das Programm weg.

Sollte es nicht in den Flash geschrieben werden? Die Meldungen von 
Crossworks besagen auch, dass sowohl in 0x100000 und 0x200000 
geschrieben wird.

Leider fällt es mir etwas schwer nachzuvollziehen, was da ausserhalb der 
Benutzerebene abläuft (komische bootscripte etc).

Ich hoffe ihr habt nen Tipp :-)
#1115523
Mein erster Gedanke waere mit derselben Prozedur ein "Blinky" zum laufen 
zu bekommen, natuerlich aus dem Flash. Wenn das funktioniert, dann ist 
schon mal gewaehrleistet, dass die Vorgehensweisse OK ist. Der Verdacht 
geht dahin, dass in Wirklichkeit das Flash nicht programmiert wurde, 
sondern was lief, lief aus dem SRAM, aber wie gesagt, nur so ein 
Verdacht.

Robert Teufel
Partner in Silicon Valley gesucht? Ich stehe gerne zur Verfuegung.
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Meine ARM/Cortex Webseite: http://www.lpc2000.com
OP Persönliche Seite #1115664
Danke Robert für den Tipp. In der Richtung vermute ich auch den Fehler, 
kann aber nicht genau sagen ob das Programm aus SRAM oder Flash läuft 
(es wurden aber zwei Bereiche Programmiert...).

Ich werde mich heute abend wieder damit beschäftigen. Wie gesagt, von 
den angezeigten Adressen her müsste auch das Flash programmiert worden 
sein.

Mit OpenOCD konnte ich schonmal ein "Blinky" rein programmieren. Das 
alte "Blinky" wurde anscheinend überschrieben, denn wenn ich jetzt einen 
Reset ausführe passiert nix mehr.

Vielleicht liegt es auch daran, dass nach der Programmierung das RAM 
oder irgendwelche Register irgendwie initialisiert sind und das in 
meinem Programm nach einem Reset nicht mehr passiert.

Wäre super wenn sich jemand melden könnte der mit Crossworks + AT91S 
etwas mehr Erfahrungen hat.
Gast #1115690
Hallo Robert,

beim CrossWorks mußt du, glaube ich, noch "STARTUP_FROM_RESET" unter den 
Preprocessor Definitions machen.

In dem bootscript sind alle möglichen defines definiert

gruss
nobbie

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.