ARM JTAG Problem

Gast #2887421
Lesenswert?

Hallo,

ich möchte gerne abwechselnd per JTAG debuggen und per FlashMagic 
(seriell) eine HEX-Datei im Flash neu schreiben (ab 0x20000). Das 
Programm greift dann dort auf die Daten zu.

Das Problem ist, FlashMagic funktioniert nur mit ISP-Pin und seriell 
Reset. Somit muss ich für das Debuggen entweder das serielle Kabel 
abziehen, oder die Jumper ISP und RST rausmachen. Jedesmal!

Kann man vielleicht auch über JTAG eine HEX-Datei in den Flash 
schreiben? Oder gibt es eine Hardware-Lösung am JTAG? Oder muss ich 
tatsächlich einen Switch zum Umschalten von ISP und RST auf das Board 
machen?

Zum Hintergrund: das Programm ist ein Webserver, und ich optimiere das 
JavaScript im index.html. Debugging erfolgt derzeit mit IAR.

Danke!
Lothar
Gast #2887809
Lesenswert?

Konvertieren des HEX-File z.B. in ein ELF-File nützt nichts, der 
Debugger macht dann zwar das File auf, erkennt aber, dass es kein 
Programm ist.

Error: This is not a file with debug information.

Wie gesagt, es geht darum, unabhängig vom Programm, das vom Debugger 
geflasht wird, Daten in einen höheren Speicherbereich zu flashen.
Gast #2887828
Lesenswert?

Andi D. schrieb:
> tipp zum entwicklen: nicht jedesmal neu flashen sondern die javascript
> dateien etc. auf nen webserver auf deinen entwicklungsrechner
> auslagern.

Das habe ich zunächst schon so gemacht: die Webpages auf dem 
Mikrocontroller holten sich das JavaScript von einem anderen Webserver. 
Aber jetzt geht es um Optimierung, und ich muss das JavaScript auf dem 
Mikrocontroller implementieren, z.B. die Callbacks. Und damit ich nicht 
immer das ganze Programm flashen muss, möchte ich nur das Segment mit 
den Daten flashen (was mit FlashMagic ja geht, nur nicht mit dem 
Debugger).
Gast #2887862
Lesenswert?

Lothar schrieb:
> abwechselnd per JTAG debuggen und per FlashMagic..

Wo ist dein Problem? Bei allen mir bekannten ARM's haben Bootlader via 
UART und JTAG keinerlei Überschneidungen.

Auch bei /ISP und /RESET sehe ich kein Problem. Die sollten ja per 
Opencollector-Treiber angesteuert werden und auf der LP per Hochzieher 
auf Hi gehen. Hast du da etwa TTL-Ausgänge gebastelt, die sich dann ins 
Gehege kommen?

W.S.
Gast #2888090
Lesenswert?

W.S. schrieb:
> Lothar schrieb:
>> abwechselnd per JTAG debuggen und per FlashMagic..
>
> Wo ist dein Problem? Bei allen mir bekannten ARM's haben Bootlader via
> UART und JTAG keinerlei Überschneidungen.
>
> Auch bei /ISP und /RESET sehe ich kein Problem. Die sollten ja per
> Opencollector-Treiber angesteuert werden und auf der LP per Hochzieher
> auf Hi gehen. Hast du da etwa TTL-Ausgänge gebastelt, die sich dann ins
> Gehege kommen?
>
> W.S.

Sie gehen auf High, wenn kein serielles Kabel zwischen Board und PC 
angeschlossen ist. Das Kabel zieht dann RST auf low (wenn der RST Jumper 
gesteckt ist). Eben deswegen muss man das serielle Kabel entweder am 
Board oder am PC abziehen für den Start des Debuggers (oder den Jumper 
ziehen).

Ich denke ich mache einen 2-Pol Kippschalter für ISP und RST drauf ...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren