Forum: Compiler & IDEs JTAG für LPC213x


von Tobi (Gast)


Lesenswert?

Hallo zusammen!

Ich will mit einem ATmega32 einen NXP LPC213x per JTAG programmieren. 
Dazu wackle ich mit den Portpins des ATmega 32. Die State-Machine des 
TAP Controllers habe ich bereits implementiert und die läuft und ich 
kann sogar schon die ID des LPC's lesen.
Leider ist im Datenblatt des LPC's nicht angegeben, welche JTAG 
Instructions für die Flash-Programmierung zu verwenden wären. Hat jemand 
von euch einen Link oder Erfahrung mit der JTAG Programmierung des 
LPC's? Oder wird diese Information nur an "zahlende Kundschaft" 
weitergegeben?

MfG Tobi

von Andreas K. (a-k)


Lesenswert?

Da fehlt nichts, das läuft m.W. anders: Man kann das Flash nicht direkt 
per JTAG programmieren, kann aber irgendwie ins RAM reinschreiben und 
dort ein Programm starten, das dann seinerseits das Flash programmiert.

von Tobi (Gast)


Lesenswert?

Ja, der LPC hat einen Bootloader.
Mit dem kann man per UART kommunizieren und somit den µC programmieren. 
Das dauert aber relativ lange und deswegen wollte ich den Weg über JTAG 
gehen. Die debugger machens ja genauso. Die programmieren auch über 
JTAG. Es gibt auch fertige Programme im Netz, aber die kosten halt.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

@ Tobi

Interessante Sache! Ist das ein closed source Projekt oder hast du vor 
das open source zu machen?

von Tobi (Gast)


Lesenswert?

Gute Frage,
da hab ich mir noch keine Gedanken drüber gemacht. Es wird auf alle 
Fälle NICHT kommerziell genutzt werden. Ich weiss ned, ob man damit 
nicht gegen irgendwelche Lizenzen verstösst, da es ja nicht im 
Datenblatt des LPC's offengelegt wird.

von Andreas K. (a-k)


Lesenswert?

> Ja, der LPC hat einen Bootloader.

Den habe ich nicht gemeint. Du schreibst per JTAG Programm und Datens 
ins RAM und auf geht's.

von Der Bimpf (Gast)


Lesenswert?

@Tobi

Da hat Herr Kaiser recht. Kleiner Auszug aus dem UM:

10. JTAG Flash programming interface
Debug tools can write parts of the flash image to the RAM and then 
execute the IAP call
"Copy RAM to Flash" repeatedly with proper offset.

von Tobi (Gast)


Lesenswert?

Danke für die Antworten,

ich denke, das ist beim LPC immer so, wenn man das Flash brennen will.
Aber wie schauen die JTAG Befehle aus? Was und in welcher Reihenfolge 
muss ich ins JTAG Instruction bzw. Data Register schreiben, um Daten ins 
RAM ablegen zu können? Und was, um den Copy RAM to Flash Befehl 
auszuführen? Wie muss(üssen) die Adresse(n) übergeben werden? Das steht 
ja eben leider nicht im Datenblatt.

von Andreas K. (a-k)


Lesenswert?

Dafür ist NXP auch nicht direkt zuständig. Da ist Bestandteil des 
ARM7TDMI-S Cores und ist dort dokumentiert, d.h. bei ARM.

von Tobi (Gast)


Lesenswert?

Vielen Dank!

Das könnte ein Ansatz sein!

MfG Tobi

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.