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?
:
Bearbeitet durch User
Wie kommst du in den Bootmode wenn der Pin permanent auf GND liegt?
pcdulli schrieb: > Wie kommst du in den Bootmode wenn der Pin permanent auf GND liegt? Der Bootmode wird doch über den Pin gewählt, sprich bei GND ist Boot from Flash und sonst vom System Memory?
Ok, habe es rausgefunden, mein STLink V2 resetet nie den NRST pin. Keine Ahnung wieso, aber bei allen bisher hat das geklappt.
"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 :-)
Markus M. schrieb: > Ich weiß das, weil ich selbst in dieses Problem gelaufen bin :-) Danke, das war mir so nicht bewusst. Hatte bisher noch nie das Vergnügen mit so einem Controller.
Bert S. schrieb: > Ok, habe es rausgefunden, mein STLink V2 resetet nie den NRST pin. > Keine Ahnung wieso, aber bei allen bisher hat das geklappt. Iirc kann man das in der IDE einstellen, ob er RST benutzen kann, oder war das eine andere IDE?
> Iirc kann man das in der IDE einstellen, ob er RST benutzen kann, oder > war das eine andere IDE? Beim Segger J-Link kann man das im Debugger selber ueber die Art des Resetkommandos einstellen. Beim STLink wuerde ich aehnliches erwarten. Olaf
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.
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
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.
Markus M. schrieb: > 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. Offensichtlich. Bei diesem kleinen Ding ist Pin 8 SWCLK, USART1_TX und USART2_RX.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.