Forum: Mikrocontroller und Digitale Elektronik aus LPC546xx ausgesperrt: SWD-/JTAG-Pins umkonfiguriert - Abhilfe möglich?


von Tom W. (nericoh)


Lesenswert?

Hallo Gemeinde!

Folgendes Problem:

ich experimentiere auf dem LPCXpresso546xx EvalBoard (OM13092) mit dem 
integrierten Link2-Debugger und Keil MDK herum.

Nun habe ich dummerweise beim Konfigurieren der GPIOs des verbauten 
LPC54608 diejenigen Pins umkonfiguriert, die für JTAG/SWD zuständig sind 
und kann entsprechend nichtmehr Flashen/Debuggen (die Pins werden in dem 
Image, was sich jetzt auf dem uC befindet, konfiguriert).

Gibt es irgendeine Möglichkeit, wie ich wieder an den uC herankomme oder 
habe ich gerade Schrott produziert?

Was ich bereits probiert habe:
SW1 (Target Reset) drücken, damit der uC net die geflashte FW bootet und 
die Pins konfiguriert, Flashvorgang starten, SW1 loslassen -> kein 
Erfolg

Worüber ich gerade grübele:
die durch ISP0...2 vorgebbaren Bootmodi - ich möchte ja den uC daran 
hindern, sein internes FlashImage zu booten (ISP0 = 1, ISP1 = 1, ISP2 = 
1). Soweit ich das verstehe hilft mir aber auch keiner der anderen 
BootModi (UART/I2C/SPI, USB0, USB1) dabei, wieder per SWD/JTAG auf den 
uC zu kommen.

Hat jemand einen Tipp für mich, wie ich (möglichst ohne UART etc) wieder 
Zugang zu meinem uC bekomme?


Danke und Gruß
Tom

: Bearbeitet durch User
von Johannes S. (Gast)


Lesenswert?

Den uC in den ISP Mode zu bringen ist schon der richtige Weg, da muss 
vor dem Reset der ISP Pin(s) entsprechend gesetzt werden.

von Jim M. (turboj)


Lesenswert?

Tom W. schrieb:
> Soweit ich das verstehe hilft mir aber auch keiner der anderen
> BootModi (UART/I2C/SPI, USB0, USB1) dabei, wieder per SWD/JTAG auf den
> uC zu kommen.

Doch, denn im ISP Mode ist auch der JTAG/SWD an. Voraussetzung ist 
natürlich das man nicht einen der CRP Modes im Flash gesetzt hat.

Außerdem kann man via ISP (UART) den Flash löschen.

Die LPCExpresso haben einen ISP Knopf, einfach beim Reset oder Strom 
anstecken gedrückt halten.

Vorsicht: Auch der Debugger macht einen Reset - man muss den Knopf u.U. 
recht lange gedrückt lassen.

von Tom W. (nericoh)


Lesenswert?

Danke für eure Hinweise. Hab es jetzt ganz simpel auf folgende Weise 
lösen können (falls noch mal jemand das gleiche Problem hat):

aus dem Manual zum EvalBoard:
"Mass storage mode boot is possible via the High Speed (USB1) or Full 
Speed (USB0) ports. The High Speed port will provide significantly 
shorter programming times for larger binary files.
To program the LPC546x8 in mass storage mode follow these steps:
1. If using the full-speed port:
a. Connect host computer to J3. Press and hold the ISP1 button while 
pressing and the releasing the Reset button.
b. If using the high-speed port: connect host computer to J2. Press and 
hold the ISP2 button while pressing and the releasing the Reset button."

Das Board/der uC meldet sich als Laufwerk am PC an, auf diesem Laufwerk 
befindet sich eine "Firmware.bin". Die einfach löschen, uC resetten. Da 
nun die "fehlerhafte" FW nicht mehr im Flash ist und gebootet werden 
kann, werden auch die IOs nicht mehr kaputtkonfiguriert -> 
Flashen/Debuggen per SWD/JTAG ist wieder möglich

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.