Forum: Mikrocontroller und Digitale Elektronik LPC11U37 Debug Interfaces auf Zielsystem?


von Ulrich K. (Firma: Ing. Büro USAR) (ulk)


Lesenswert?

Ich habe eine Platine mit einem LPC11U37H MCU Entwickelt, leider bekomme 
ich über das EVA-Board OM13074 mit der selben MCU, keine Verbindung mit 
dem Zielsystem. Mit dem EVA-Board hat es heute noch Funktioniert die 
unvollständige Software draufzuladen und zu debuggen.
Ich nutze hier bis jetzt MCUXpresso (Nachfolger von LPCXpresso) in der 
Vers. 10.x.
Ich habe versucht die Schaltung vom EVA-Board auf der Ziel MCU zu 
kopieren, nur leider tut es nicht.
Soweit ich weiß sollten am 10poligen CortexDeb. Stecker nur GND, 
VCC(=3,3V), nReset und die beiden SWx-Signale benötigt sein, aber es tut 
einfach nicht.

Geht des den überhaupt mit der IDE direkt durch den Start des Debuggers 
eine Jungfräuliche MCU direkt die Software zu laden, oder muss da erst 
anders eine Firmware drauf?
Das Portpin 0_1 habe ich schon mit einem 100k Widerstand auf 3,3V 
gelegt, damit es zu keinen Bootversuch über den UART kommt.

das SWDIO-Signal habe auch auch per Widerstand auf 3,3V hochgezogen.
Mit JLink habe es es noch nicht versucht, aber nachdem das Ding da ist 
werde ich es damit auch versuchen.

von Harald (Gast)


Lesenswert?

Der LPC11U37 hat ja mehrere Bootmechanismen:
- Normale Ausführung User Code
- Bootloader UART
- Bootloader als Mass Storage Device am USB

Die beiden Bootloader sind implementiert als ROM-Code, funktionieren 
also immer (USB braucht 12MHz Quarz).

JTAG geht auch immer, einzig man kann den Chip beim Debuggem so verhaken 
(z.B. ungültige Taktraten), dass man nicht mehr draufkommt. Dann muss 
man einmal per UART den Flash löschen. Bei einem neuen Device eher 
ausgeschlossen.

In deinem Fall würde ich minimieren, Spannungen prüfen (insbesondere 
auch die Versorgung), Pegel prüfen, per UART versuchen, per USB 
versuchen und das Kapitel Bootmechanismen lesen.

von Ulrich K. (Firma: Ing. Büro USAR) (ulk)


Lesenswert?

Guten Morgen Harald,

dank für die schnelle Antwort, damit fällt schon mal aus der er sich 
Verhakt hat, den dazu müsste ich zumindest einmal drauf gekommen sein.
Leider habe ich vielleicht auch auf dem einen EVA-Board mit der selben 
MCU was zerschossen, den da komme ich an die MCU nun auch nicht mehr 
ran.
Ich habe noch ein anderes EVA-Board, damit funktioniert der Zugriff, 
aber da passt meine Applikation nicht (LPC18S37) und mit dem externen 
Interface komme ich bis jetzt auch nicht an mein Prototype ran.

Einen Fehler habe ich vermutlich gemacht, das 9-polige CortexDebug 
Interface braucht vermutlich kein 3,3V von meiner Platine, oder?
Ich habe versucht meine Schaltung so auszulegen das sie sich wie das 
Zielsystem auf einem EVA-Board verhält, also quasi den Schaltplanteil 
vom OM13074 verwendet, hat aber nicht funktioniert.
Mir würde es vielleicht schon langen wenn ich ein Beispiel einer 
Funktionierenden Schaltung wo man sieht wie alle Anschlüsse vom Debug 
Stecker auf einer Anwendung und die ISP Signale die wohl beim Booten 
abgefragt werden anzuschließen sind.
Mein Gefühl sagt mir es hat damit was zu tun das bei mir irgend ein 
Signal falsch beschaltet ist.

Gruß, Ulrich

von Johannes S. (Gast)


Lesenswert?

Sind die Jumper JP1 und JP2 richtig gesetzt für das ext. Target? Wenn 
das ext. Board eine eigene Spannungsversorgung hat dann sollte der JP2 
offen sein, dann werden die Treiber in der debug probe über das Target 
versorgt und so die Spannungspegel richtig gesetzt. Wenn der Jumper auf 
2-3 steht wird das ext. Board aus dem Debugger versorgt, darf aber max. 
100 mA ziehen, das würde ich nicht so machen.
Mit P0_1 low während des Reset kann man den µC in den Bootloader 
starten, mit dem Debugger kommt man dann trotzdem dran und das braucht 
man wenn man den Takt falsch programmiert hat, z.B. auf ext. Quarz ohne 
das einer angeschlossen ist.
Ist USB auf deinem Board auch herausgeführt? Mit dem P0_1 low und P0_3 
high startet der Bootloader im USB-MSC Modus und meldet sich am PC als 
Massenspeicher. Dazu muss allerdings auch der Quarz angeschlossen sein.
Im UM10462 auf S. 426 ist der SWD Anschluss skizziert.
Und was meldet der Debugger, es müsste eine Meldung wie 'couldn't 
connect core' kommen.

von Klakow (Gast)


Lesenswert?

Ich warte gerade noch auf ein neues EVA OM13074, weil das alte wohl bei 
der Aktion einen Schlag bekommen hat, vermutlich weil ich den Jumper JP2 
falsch gesteckt habe. Hab mir auch noch ein J-LINK Bestellt, in der 
Hoffnung das es damit eh weniger Probleme gibt.
Da der nur eine Debug-Probe ist, sollte es zumindest keine Jumperei 
geben.

Der Link auf UM10462 war schon mal sehr gut, jetzt würde mich nur noch 
interessieren ob in jedem Fall an den drei Signalen, also SWDIO, SWCLK 
keine Pullup, oder Pulldown's benötigt werden?
In der MCU Beschreibung wird gesagt das Beim Port PIO0_1 wird da wohl 
nichts benötigt, weil der nach einem Reset wohl von der MCU erstmal mit 
einem Pullup beschaltet ist.
Leider steht hier:
http://www.support.code-red-tech.com/CodeRedWiki/HardwareDebugConnections
was das SWCLK mit einem pulldown beschaltet werden muss.

Grüße, Ulrich

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.