Forum: Mikrocontroller und Digitale Elektronik ARM mit IAR Workbench und Wiggler debuggen


von Mike (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich bin gerade dabei mich in die ARM-Welt einzuarbeiten und benutze 
dafür den IAR Compiler für ARM (32kB limitiert) einen AT91SAM7S256 und 
einen Macraigor Wiggler als JTAG Schnittstelle. Mit Hilfe des OCD 
Commanders konnte ich den µC schon ansprechen. Außerdem habe ich ein 
Beispiel Projekt, welches zwei LED's blinken lassen soll schon 
erfolgreich compiliert. Nur wenn ich es mit dem IAR debuggen will läuft 
das Programm nur bis zueinem sogenannten Undefined Handler im 
Disassembly Window. Die main() wird nicht erreicht. Was mache ich 
Falsch? Hat jemand vielleicht ein kleines Programm für den Anfang 
welches funktioniert? Ich bin für jeden Tip sehr dankbar.

von gregorie (Gast)


Lesenswert?

Hmm...da stimmt bestimmt etwas mit der Initialisierung nicht. Schau dort 
doch noch mal nach.

von Sascha (Gast)


Lesenswert?

Hallo Mike, leuft das Programm den ohne Debugger ?
Ladest du das Programm ins RAM oder ins Flash ?
Stimmen die Speicherbereiche (RAM,Flash usw.) ?

Wenn du vom ersten Assembler Befehl sehen willst was geht, must du run 
to Main in der Option herausnehemen und dort siehe Startup.s79 Datei 
Reset oder so einfügen.
Dann aber beim Assembler die Debugginginformationen für Assembler 
einschalten.

von Mike (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Sascha,

ich lade das Programm in den RAM. Die main wird leider nie erreicht. Ich 
bleibe immer bei dem undefined handler hängen (siehe Bild). Ich habe 
gelesen das der Wiggler als JTAG-Schnittstelle nicht so gut sein soll.
Bin für jede weiter Hilfe dankbar.

von Sascha (Gast)


Lesenswert?

Hallo Mike, das Problem liegt bestimmt nicht am Wiggler.
Ich habe auch sehr lange mit den ganzen Optionen kämpfen mussen.
Also das der Flashloader misst baut können wir ausschliessen weil du 
keinen brauchst.
Wenn die Software ins RAM copiert wird kannst du die Option Verify noch 
in der Option anwählen. Dann weist du wenigstens, das dort das richtige 
ankam.
Zumindest kannst du mal auf Assembler debugging gehen, das rechte 
Fenster.
und den Programmcounter von hand auf 0000 setzen und sehen was im RAM 
ist.

Ist dein RAM tatsächlich auf Adresse 0000h oder dein Flash ? Oder 
must/kannst ein Remapping bei der CPU ausführen ?

Bei meiner CPU ist bei jedem Start das Flash auf 0000h und nicht das RAM 
wie bei dir !! (ADuC7026)

Ahh jetzt da steht bei dir unten auch The Remap is not !!!!!
Wird dies über den Programmcode ausgegeben oder sind das Einstellungen 
in die SFRs über den Wiggler. Du kannst jedes SFR Register auch direkt 
lesen und schreiben.

Gruß Sascha

von Mike (Gast)


Lesenswert?

Hallo Sascha,

ich hab's. Mit der älteren Version des IAR ARM Kickstart Compilers 
klappte es auf anhieb. Der Debugger läuft direkt in die main und diese 
kann ich auch abarbeiten. Hab mich schon lange nicht mehr so sehr über 
eine blinkende LED gefreut. Vielen Dank für die Mühe deinerseits.

Viele Grüsse

Mike

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.