NUCLEO-L412KB: Läuft nur mit Debugger an

OP #6058723
Hallo,

ich habe ein NUCLEO-L412KB Board, das ich mit Segger-Software debugge.
Da man den Segger-Debugger nicht ans Board anschließen kann (SWD ist 
nicht auf Pins geführt) habe ich den auf dem Board integrieren ST-Link 
auf dem Board als J-Link konvertiert (Programm STLinkReflash.exe). 
Funktioniert auch problemlos.

Wenn ich aber den Debugger beende, läuft das Programm nicht los, auch 
wenn ich (USB-)Netzreset mache oder die Reset-Taste drücke.

Das selbe geht auch nicht, wenn ich "Restore ST-Link" mache und den 
Originalzustand des integrierten ST-Links erzeuge.

Habe auch schon den integrierten ST-Link auf V2.J35.M26 upgedated. 
Bringt alles nichts.

Warum läuft der Mikrocontroller nicht los?

Gruß
Martin
Gast #6058727
Martin R. schrieb:
> Warum läuft der Mikrocontroller nicht los?

Zwei Möglichkeiten fallen mir da ein:

a) Er bekommt keinen Takt -> Auf R/C Oszillator umstellen
b) Der Programmieradapter zieht die Reset Leitung auf Low -> Leitung 
unterbrechen.
OP #6058873
Stefan F. schrieb:
> a) Er bekommt keinen Takt -> Auf R/C Oszillator umstellen
Läuft schon immer mit RC-Oszillator.

> b) Der Programmieradapter zieht die Reset Leitung auf Low -> Leitung
> unterbrechen.
Reset ist High.

Ich vermute der Mikrocontroller wird per Befehl über die 
SWD-Schnittstelle im Wartemodus gehalten.
Gast #6059013
Wenn man den ST-Link nicht braucht, z.B. weil das Board sowieso
standalone laufen soll, einfach den RST vom ST-Link auf Low ziehen.

Das ist bei manchen sogar schon fuer eine optionale Loetbruecke
vorbereitet. (Pin 8 vom STM32F103)

Ob da ein JLinklight oder die originale Firmware drauf ist,
ist logischerweise egal...
Gast #6059015
P.S. Nebenwirkungen:

Der Controller bekommt vom ST-Link keinen Takt mehr.
Also Quarz bestuecken und Bruecke zum ST-Link auftrennen.
HSE-Bypass darf dann natuerlich nicht eingeschaltet werden.
Der interne Taktgenerator ist natuerlich nicht betroffen.

Der u.U. vorhandene serielle Adapter vom ST-Link ruht auch.

Die uebrigen Hinweise (Semihosting, ...) auch beachten.
OP #6059305
Semihosting: es gibt bei Segger keine entsprechende Option zum Auswählen

RST vom ST-Link auf Low ziehen: brachte nichts

USB nicht stecken und 5V an VIN einspeisen: brachte nichts

USB nicht stecken und 3,3V an VDD einspeisen (Jumper JP1 zum 
Spannungsregler offen): brachte nichts.
Gast #6059312
Hast du am Linkerskript rumgespielt? Das ist mir mal passiert, als ich 
einen Bootloader auf einem ARM Cortex installiert habe. Der Code wurde 
hinter dem Bootloader ins Flash geschrieben. Wenn kein Bootloader drauf 
war, lief der Controller nur, wenn der Debugger die Ausführung an der 
richtigen Adresse gestartet hat..
OP #6059386
pegel schrieb:
> Möchtest Du ein Blinky probieren?

Gerne, aber ich habe nun das Problem, daß  der Cube-Programmer nun nicht 
mehr geht, um das HEX-File drauf zu schieben. Er kann keine Verbindung 
zum Board aufbauen:

13:41:54 : ST-LINK error (DEV_USB_COMM_ERR)
13:41:54 : Error: Problem occured while trying to connect

Im Gerätemanager wird jedoch nach dem Stecken COM7 erkannt.
OP #6059437
Hab mal das Projektfile vom Segger als Textfile angehängt. Vielleicht 
fällt jemandem eine falsche Einstellung auf.

Ich habe den Cube für das Projekt verwendet und Toolchain MDK-ARM V5 
verwendet. Das damit erzeugte MDK-Projekt kann man dann im Segger 
importieren. Ob da was schief gelaufen ist? Ich arbeite erst seit diesem 
Projekt mit dem neusten Cube. Was mir auffiel, daß die C-Dateien nach 
dem Import (main.c) dann im Segger nicht erschienen sind, mußte ich dann 
per Hand dazu fügen.
Angehängte Dateien:
Gast #6059484
Merkwürdig.

Deine ioc meint, dass die L4 v1.14.0 Lib oder eine Abhängigkeit fehlt.
Ist aber bei mir definitiv vorhanden. Habe die .hex damit erstellt.

Vielleicht kann das noch jemand anders testen bevor ich etwas bei mir 
verstelle?
Gast #6059503
Ob das vielleicht mit der CubeMX Version zu tun hat?

Du hast die 5.3.0, ich die aktuelle 5.4.0.

Ich kenne eigentlich eine andere Meldung, wenn die .ioc aus einer 
anderen Version kam, aber man weiss ja nie....
Gast #6059587
Hat er es noch geschafft?

Wie gesagt, habe keinen Schimmer von Segger.
Kann das ein Makefile Projekt importieren?
Das kann CubeMX auch erstellen.

Was meint Segger dazu?
OP #6059616
Nein Cube bleibt generell hängen, auch mit neu angelegtem Projekt.
Habe auch Java neu installiert, brachte nichts.

Import-Möglichkeiten siehe Anhang. Segger an sich ist super, vor allem 
als Privatperson kostenlos! Und Debug-Box für Privatanwendungen kostet 
nur 60 €.

Bei Segger bekommt man keinen aktiven Support als Privatperson. Da hat 
man nur Möglichkeiten über Forum.
Und zum Thema Probleme ST-Link als J-Link mißbrauchen wollen sie keinen 
Support geben. Wollen ja schließlich ihre Box verkaufen...
Angehängte Dateien:
Gast #6059933
Dann ist gut.

Bleibt nur die Frage, ob CubeMX nicht korrekt exportiert, oder Segger 
nicht korrekt importiert.

Läuft denn das neue CubeMX jetzt richtig?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 6 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.