Hallo, ich versuche mich gerade in der Programmierung eines STM32L451
auf einem selbst designtem Board. Ich habe mehr oder weniger die selbe
Vorgehensweise wie in diesem Video gewählt:
https://www.youtube.com/watch?v=qMUzLU636s8
Hier die wichtigsten Punkte:
-BOOT0 ist auf low.
-Ich habe ein neues Projekt mit der CubeIDE erstellt.
-Konfiguration der .ioc Datei:
-in SYS ist bei Debug das Serial Wire aktiviert (in der Pinout view
sehe ich SWCLK und SWDIO aufgrund dessen grün eingefärbt)
-in RCC habe ich PH0 und PH1 für einen Quarz aktiviert.
-in der Clock Configuration habe ich eine SYSCLK von 80MHz (im Prinzip
sind hinten alle Clocks auf 80MHz konfiguriert)
-Ich habe einen GPIO als Ausgang definiert. Da hängt eine LED dran.
-In die main.c habe ich in der Main-Loop einen Testcode geschrieben, der
die LED blinken lässt.
-In der Run Configuration habe ich bei dem Reiter 'Debugger' als
Interface SWD ausgewählt.
Wenn ich nun auf Run drücke, dann wird fehlerfrei kompiliert, die
Firmware übertragen und das Programm läuft (die LED blinkt). Allerdings
verliert der Debugger die Verbindung:
1 | STMicroelectronics ST-LINK GDB server. Version 5.5.0
|
2 | Copyright (c) 2019, STMicroelectronics. All rights reserved.
|
3 |
|
4 | Starting server with the following options:
|
5 | Persistent Mode : Disabled
|
6 | Logging Level : 1
|
7 | Listen Port Number : 61234
|
8 | Status Refresh Delay : 15s
|
9 | Verbose Mode : Disabled
|
10 | SWD Debug : Enabled
|
11 | InitWhile : Enabled
|
12 |
|
13 | Waiting for debugger connection...
|
14 | Debugger connected
|
15 | -------------------------------------------------------------------
|
16 | STM32CubeProgrammer v2.4.0
|
17 | -------------------------------------------------------------------
|
18 |
|
19 | ST-LINK SN : 34FF6E065250343820161043
|
20 | ST-LINK FW : V2J36S7
|
21 | Voltage : 3.22V
|
22 | SWD freq : 4000 KHz
|
23 | Connect mode: Under Reset
|
24 | Reset mode : Hardware reset
|
25 | Device ID : 0x462
|
26 | Device name : STM32L45x/L46x
|
27 | Flash size : 256 KBytes
|
28 | Device type : MCU
|
29 | Device CPU : Cortex-M4
|
30 |
|
31 | Memory Programming ...
|
32 | Opening and parsing file: ST-LINK_GDB_server_a19152.srec
|
33 | File : ST-LINK_GDB_server_a19152.srec
|
34 | Size : 6196 Bytes
|
35 | Address : 0x08000000
|
36 |
|
37 | Erasing memory corresponding to segment 0:
|
38 | Erasing internal memory sectors [0 3]
|
39 | Download in Progress:
|
40 |
|
41 | File download complete
|
42 | Time elapsed during download operation: 00:00:00.540
|
43 |
|
44 | Verifying ...
|
45 | Download verified successfully
|
46 |
|
47 | Debugger connection lost.
|
48 | Shutting down...
|
Wenn ich mich mit der STLink-Utility auf den Chip verbinde funktioniert
alles. Deshalb und auch weil das Programm läuft gehe ich davon aus, dass
die Hardware soweit fehlerfrei ist. Ich denke, ich habe eine Einstellung
in der CubeIDE übersehen. Kann mir da jemand weiterhelfen?