Forum: Mikrocontroller und Digitale Elektronik AT91SAM7x-256


von Sebastian (Gast)


Lesenswert?

Hallo @ all

Ich habe ein AT91SAM7X-256-EK Board. Zudem verwende ich den 
IAR-Compiler. Dort gibt es viele Beispielprojekte. Ich habe mal das 
"GETTING STARTED" Projekt geöffnet (Dies mit den blinkenden LEDs). 
Anschließend habe ich den Debug Button im IAR-Compiler angeklick. Das 
compilierte Programm wird in den AT91SAM7X-256 übertragen. Nebenbei habe 
ich noch das Hypertherminal geöffnet und die RS232-Schnittstelle 
konfiguriert. Und siehe da über die Debug-RS232-Schnittstelle kommen 
genau die Informationen wie erwartet.

Nun habe ich die Reset-Button auf dem EK-Board gedrückt und das Programm 
startet auch von vorne. Diese habe ich öfters ausprobiert. Wenn ich 
jedoch das USP-Kabel abziehe, ist die Spannungsversorgung unterbrochen. 
Stecke ich das USB-Kabel wieder an startet das Programm auch wieder. Es 
gibt nur ein Problem. Ich kann den Reset-Knopf auf dem Board so oft und 
lange drücken wie ich will. Es hat keine Auswirkung. Das Programm wird 
weder unterbrochen, noch neu gestartet. Weiß jemand woran es liegt?

von gerhard (Gast)


Lesenswert?

>Weiß jemand woran es liegt?
ja, ich vermute mal der user reset ist in den beispiel-programmen nicht 
freigegeben. schau mal in das datenblatt, kapitel "User Reset".

gruss
gerhard

von Sebastian (Gast)


Lesenswert?

Aber warum funktioniert er denn wenn ich das Programm mit dem 
IAR-Compiler draufkopiere? Er funktioniert nur nicht mehr wenn ich 
einmal die Spannungsversorgung wegnehme.

von gerhard (Gast)


Lesenswert?

>Aber warum funktioniert er denn wenn ich das Programm mit dem
>IAR-Compiler draufkopiere?
ein compiler kopiert nichts auf eine hardware!
ich nehme mal an du hast einen jtag-ice (z.b.: j-link) in verwendung. 
dieser kann den prozessor über das jtag-interface rücksetzen.

gruss
gerhard

von Sebastian (Gast)


Lesenswert?

Ja ich habe eine JTAC-ICE. Mit hilfe des JTAC-ICE kopiert IAR das 
Programm in den Flash. Ich kann dann den Reset-Knopf auf dem Board 
drücken und das Programm startet von vorne, wenn ich die 
Spannungsversorgung unterbrochen habe und anschließend wieder herstelle, 
wird das Programm aus dem Flash geladen, jedoch hat bewirkt das Drücken 
des Reset-Knopfes nichts mehr.

von gerhard (Gast)


Lesenswert?

du hast vermutlich in der iar workbench eine konfiguraton gewählt, 
welche den programmcode in das ram lädt un dnicht ins flash.
welches beispiel verwendest du denn und welceh konfiguration hast du 
ausgewählt?

gruss
gerhard

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Falls Programm im RAM müsste der RAM-Speicherinhalt bei 
Stromversorgungsunterbrechnung erhalten bleiben (wg. "...startet das 
Programm auch wieder..."). Das mag zwar für kurze Zeit möglich sein, 
wenn irgendwelche Kondensatoren als Pseudo-Stützbatterie agieren, ist 
aber bei längerer Unterbrechung unwahrscheinlich.

Kenne EWARM zwar kaum aber tippe eher darauf, dass vor dem Flashvorgang 
der User-Reset mittels einer (Script-)Anweisung aktiviert wird, mit der 
direkt in die Speicheradresse für Reset-Control geschrieben wird. Wenn 
dem so ist, ist die Aktivierung des "Resetknopfs" dann nicht Teil der 
Anwendung sondern Teil der Initialisierung des Controllers durch 
EWARM/J-Link zum Flashen.

Vorschlag im Beitrag von gerhard 24.2 14:19 überhaupt ausprobiert?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.