Keine Verbindung zum STM32L0

#7070629
Lesenswert?

Hi,

Ich habe 3 Boards gelötet, jedoch kann ich mich bei keinem mit dem 
STM32L031F4P6 verbinden. Die Spannung (3.3V), SWCLK und SWDIO kommen 
korrekt zu den Eingangspins, von daher muss irgendwie etwas falsch 
angeschlossen sein, aber ich sehe absolut nicht was.

Datenblatt: 
https://www.st.com/en/microcontrollers-microprocessors/stm32l031f4.html

Jemand eine Idee?
Angehängte Dateien:
#7070677
Lesenswert?

"Normalerweise" ist der NRST nicht unbedingt notwendig wenn man einen 
STM32 ohne Bootloader programmiert.

Wenn Du allerdings eine "Category 1" device hast (STM32L010x3 oder 
STM32L010x4), dann checkt der Controller - auch wenn BOOT0 auf GND 
gezogen wird - ob er schonmal programmiert wurde. Wenn das nicht der 
Fall ist, startet er den Bootloader, und dann funktioniert die 
Programmierung ohne NRST nicht mehr.

Siehe auch im Refmanual:

"On category 1 devices, an internal empty check flag is implemented to 
allow easy programming of virgin devices by the bootloader. This flag is 
used when BOOT0 pin is configured to select Flash program memory as 
target boot area. When this flag is set, the device is considered as 
unprogrammed and the system memory (bootloader) is selected as boot area 
instead of the Flash program memory to allow the application to program 
the Flash memory"

Ich weiß das, weil ich selbst in dieses Problem gelaufen bin :-)
Gast #7070935
Lesenswert?

Markus M. schrieb:
> startet er den Bootloader, und dann funktioniert die
> Programmierung ohne NRST nicht mehr.

Die STM32 die ich kenne lassen die SWJ Schnittstelle aktiviert, während 
der Bootloader läuft. Deswegen kann man bei diesen den Boot0 Pin auf 
HIGH setzen, falls das geflashte Programm SWJ sonst deaktivieren würde, 
was bei CubeMX ja der Standardfall ist.
Gast #7070940
Lesenswert?

Löppt schrieb:
> kann man das in der IDE einstellen, ob er RST benutzen kann, oder
> war das eine andere IDE?

Die chinesischen ST-Link V2 Sticks haben für STM32 gar keinen Reset 
Ausgang. Der entsprechend beschriftete Pin wird nur mit STM8 verwendet.

Siehe dazu

http://stefanfrings.de/stm32/stm32l0.html#proginterfaces

http://stefanfrings.de/stm32/cube_ide.html#flash

http://stefanfrings.de/stm32/system_workbench.html#flash
#7071193
Lesenswert?

Stefan ⛄ F. schrieb:
> Markus M. schrieb:
>> startet er den Bootloader, und dann funktioniert die
>> Programmierung ohne NRST nicht mehr.
>
> Die STM32 die ich kenne lassen die SWJ Schnittstelle aktiviert, während
> der Bootloader läuft. Deswegen kann man bei diesen den Boot0 Pin auf
> HIGH setzen, falls das geflashte Programm SWJ sonst deaktivieren würde,
> was bei CubeMX ja der Standardfall ist.

Hmmm... also ich weiß nicht mehr die genauen Umstände, aber irgendwie 
hatte mir diese "Leererkennung" da einen Streich gespielt. War 
allerdings auch ein STM32 Minimalcontroller (STM32G030J6) mit nur 8 
Pins, evtl. hatte dieser im Bootloader die Debug-Pins umgeschaltet um 
darüber die Firmware zu laden.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren