Forum: Mikrocontroller und Digitale Elektronik Flashen über JTAG


von schaeubl (Gast)


Lesenswert?

Hallo,
Ich hab ne frage zum normalen flashen über JTAG, mit einem J-Link oder 
ähnliches. Wird dabei auch der Bootloader gestartet, oder wird das 
Programm direkt in den Speicher geschrieben?

von TheMason (Gast)


Lesenswert?

jtag ist eine schnittstelle mit der die internen 
register/makros/flash-zellen angesprochen werden kann.
daher wird der bootloader nicht gestartet.
somit wird das programm direkt in den speicher geschrieben.

von schaeubl (Gast)


Lesenswert?

Vielen Dank!
Deshalb ist diese Weise auch sehr schnell.

von Dominic R. (dominic)


Lesenswert?

Ohne zu wissen, von welchem Target du sprichst, ist diese Frage nicht zu 
beantworten.

Xilinx Platform Flashes haben z.B. ein eigenes JTAG-Interface, in dem 
Fall gäbe es gar keinen uC, der Code ausführen könnte. Die neuen STR9x 
Controller von ST Micro haben ebenfalls ein Flash mit eigenem JTAG 
Interface.

Externe NOR Flashes können entweder ohne Mithilfe der CPU per 
"Boundary-Scan" geflashed werden, mit Hilfe der CPU und einzelnen 
Speicherzugriffen, oder mit Hilfe eines Algorithmus, der auf der CPU 
ausgeführt wird, und grössere Blöcke auf einmal schreibt. Interne 
Flashes können meistens nur mit Hilfe der CPU, im Fall der LPCs sogar 
nur durch den on-chip Bootloader beschrieben werden.
Boundary-Scan ist dabei die langsamste Variante, und wird z.B. von den 
openwince JTAG Tools verwendet. Typisch sind Datenraten von ein paar 
hundert Byte pro Sekunde.
Wenn die CPU für Speicherzugriffe verwendet wird steigt die Performance 
um etwa eine Grössenordnung auf wenige KB/s.
Mit einem Algorithmus auf der CPU (das dürfte J-Link machen) sind 
nochmal ein bis zwei Grössenordnung möglich, der OpenOCD schafft z.B. 
40-50kB/s in's interne Flash eines LPC2000.

Gruss,

Dominic

von schaeubl (Gast)


Lesenswert?

Vielen Dank!
Ich verwende 2 Controller Typen, den MSP430F149 und den AT91SAM7SE512. 
Bei denen wird denke ich der Bootloader nicht gestartet, beim flashen 
über die JTAG Schnittstelle. Laut Datenblatt können die mit einem Takt 
von bis 10,12 MHz geflashed werden.

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.