mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Flash des AT91SAM7S256


Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich dachte, ich hätte das mit der IAR Embedded Workbench 4.3 
(AT91SAM7S-EK & SAM-ICE) endlich zum Laufen gebracht. Leider erlitt ich 
da heute einen kleinen Rückschlag.
Jedesmal, wenn ich ein Programm schreibe, das eine Endlosschleife 
beinhaltet, z.B. while(1) bekomme ich das Programm nicht in den Flash. 
Ich kann debuggen und den Debugger dann abbrechen, danach ist das 
Programm aber nicht auf dem Mikrocontroller. Nach Reset oder Stromaus 
ist nichts vorhanden. Geht mein Programm allerdings im Debugger auf 
"END" dann habe ich es danach auch im Flash.

Was kann ich denn da tun? Ist IAR für while(1) Schleifen ungeeignet?

Danke

Gruß Christian

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Programm landet vermutlich zum Debuggen im RAM des Controllers. 
Prüfe, ob es einen Schalter gibt der das Programm wahlweise ins RAM oder 
FLASH legt (ist bei KEIL so).

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe in den Einstellungen eigentlich alles auf Flash gestellt, also 
flash.mac und flash.xcl, sowie einen extra output des linkers erzeugt.

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ist denn die while(1) schleife leer?
dann wird sie vom compiler wegoptimiert.
schau dir mal die listdatei an.

gruss
gerhard

Autor: embedded-os (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Code nicht mehr im Speicher kenne ich nicht, aber Probleme mit einer 
leeren "while(1);".
Bei einigen Boards ARM/CM3 ist es sehr sinnvoll diese Schleife mit 
einigen NOPs zu befüllen. Damit ist debugging besser mgl. und man kommt 
immer an das Board bei nächsten flashen heran.

while(1) { _NOP(); _NOP(); _NOP(); }

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.