Forum: Mikrocontroller und Digitale Elektronik SAM9G45, IAR __hwReset


von Nobbie (Gast)


Lesenswert?

Hallo,

in meiner IAR Applikation nutze ich ein Startupskript (*.mac) mit dem 
ich meine Softwareversion in den Controller lade und ausführe. Hierzu 
habe ich ein Beispielskript genommen in dem der Makroaufruf 
"__hwReset(0)" enthalten ist. In der IAR Doku steht zu dem Makro:
"Resets the CPU and immediately halts it."
Mir ist nicht ganz so klar, was er mit dem Anhalten meint. Beim Reset 
zieht er ja sicherlich den NRST runter und löst einen UserReset aus. 
Aber wie realisiert er das Anhalten der CPU?

Danke Nobbie.

von Sascha (Gast)


Lesenswert?

Hallo,
vermutlich meinst du den Script der über den JLINK oder änliches ableuft 
um die CPU zu initialisieren? Dann wird da meines wissens der Hardware 
Reset über den JTAG nTRST Pin gezogen. Anhalten kann er die CPU über ein 
JTAG command.

Gruß Sascha

von Nobbie (Gast)


Lesenswert?

Hi,

genau das meine ich. Aber wie hält er denn die CPU für die Dauer der 
Programmierung an? Hält er den nTRST Low oder ist es das von dir 
beschriebene JTAG Command?

Nobbie

von Sascha (Gast)


Lesenswert?

Hallo,
also ich meine das muss er mit einem quasi Override Bit in dem 
Debuginterface machen, dort kann er auch gezielt die CPU resetten oder 
das ganze System resetten. Die CPU wird auf Halt gestellt und danach 
bekommt nur die CPU einen Reset. Systemreset würde dann natürlich alle 
Einstellungen wieder vernichten. Ich habe zwar schon ein paar solcher 
Files von Hand auch für gcc/OCD angepasst, habe mich aber noch nie so 
ganz tief auf Debugger ebene damit beschäftigt, weil es immer irgendwie 
lief.

Gruß Sascha

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.