Last update : 04-April 2005

Vielleicht kann ich hiermit einen praktischen Beitrag dazu leisten, dass das Secondary JTAG Port des LPC210x seinen "Schrecken" verliert und der Anwender 10 zusätzlich Pins nutzen kann (gegenüber der Primary JTAG Port Lösung)

So geht's (bei mir):

1. Die PHILIPS Applikation Note AN10255 vergessen !  (hatte mich total verwirrt).
2. Die Pins des Secondary JTAG Ports im eigenen C-Programm auswählen (oberste 5 bit in
    PINSEL1). Ein Hilfsprogramm wird nicht benötigt!
3. Einmal das erzeugte Programm per ISP oder über das Primary JTAG Port in die CPU
    brennen.(ISP oder Primary JTAG Port wir dann normalerweise nie mehr gebraucht,
    neue Programme werden über den Debugger am Secondary JTAG Port geflasht).
4. Den Debugger am Secondary JTAG Port anschliessen . Der Pin DBG der CPU muss "0"
    sein! RTCK funktioniert nicht im Secondary JTAG Port Mode, der Debugger muss also
    auch ohne RTCK arbeiten können. Der Debugger muss in einer Betriebsart schaltbar
    sein, die den JTAG  TAP Controller in der CPU auch ohne gezogenem RESET
    initialisieren kann (Attache mode, etc.)
5. Debugger ganz normal starten.  
6. Vergessen dass es das zweite JTAG Port gibt, solange man die Pinkonfiguartion der
    Portpins  P0.27 bis P0.31 nicht ändert. Wer im Programm die Konfiguration verändert,
    verliert die Kontrolle über  das Programm. Wer die ersten Konfiguration nach Reset
    verändert UND FLASHT , muss Schritt 3 wieder ausführen.
  
Das eigene Programm startet natürlich und läuft einige 100ms (abhängig vom Debugger), bis der Debugger es "einfängt" und stoppt und man Kontrolle über die CPU bekommt. Wer das nicht möchte, muss beim Debuggen eine Endlosschleife nach der Initialisierung einbauen und den PC dann manuell setzen.

Einige LPC2106 gehen nur "widerspenstig" über das Secondary Debug Port in den Debug Mode wenn man DBGSEL auf "0" und RTCK auf "1" legt. Dieses Verhalten ist (bei mir) verschwunden, wenn man den DBGSEL Pin auf "1" und dafür RTCK auf "0" legt (RTCK über 10K).

Back home