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?
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.