Flashen über JTAG

Gast #449087
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.
#449136
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
Gast #449180
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.

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