Also ich habe jetzt alles verkabelt:
1 | RPi2B BluePill
|
2 | ---------------------------------
|
3 | 3.3V 3.3V
|
4 | GND GND
|
5 | bcm2835gpio 11 SWCLK
|
6 | bcm2835gpio 25 SWIO
|
Meine config sieht so aus:
rpi3.cfg
1 | adapter driver bcm2835gpio
|
2 | bcm2835gpio_peripheral_base 0x3F000000
|
3 | bcm2835gpio_speed_coeffs 146203 36
|
4 | bcm2835gpio_swd_nums 11 25
|
Dann starte ich openocd zum Test:
1 | # sudo openocd -f rpi3.cfg -c "transport select swd" -c "adapter speed 1000" -f target/stm32f1x.cfg
|
2 | Open On-Chip Debugger 0.10.0+dev-01177-gb9a30e08-dirty (2020-04-13-12:01)
|
3 | BCM2835 GPIO nums: swclk = 11, swdio = 25
|
4 |
|
5 | swd
|
6 | adapter speed: 1000 kHz
|
7 |
|
8 | Info : Listening on port 6666 for tcl connections
|
9 | Info : Listening on port 4444 for telnet connections
|
10 | Info : BCM2835 GPIO JTAG/SWD bitbang driver
|
11 | Info : SWD only mode enabled (specify tck, tms, tdi and tdo gpios to add JTAG mode)
|
12 | Info : clock speed 1001 kHz
|
13 | Info : SWD DPIDR 0x2ba01477
|
14 | Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints
|
15 | Info : stm32f1x.cpu: external reset detected
|
16 | Info : starting gdb server for stm32f1x.cpu on 3333
|
17 | Info : Listening on port 3333 for gdb connections
|
Funktioniert also soweit... Will ich aber nun ein Testprogramm aus
CubeIDE (*.elf file) auf den/der/die? BluePill laden bekomme ich diese
Meldung:
1 | sudo openocd -f rpi3.cfg -c "transport select swd" -c "adapter speed 1000" -c "program /tmp/sd-card-spi.elf verify reset exit" -f target/stm32f1x.cfg
|
2 | BCM2835 GPIO nums: swclk = 11, swdio = 25
|
3 |
|
4 | swd
|
5 | adapter speed: 1000 kHz
|
6 |
|
7 | Info : BCM2835 GPIO JTAG/SWD bitbang driver
|
8 | Info : SWD only mode enabled (specify tck, tms, tdi and tdo gpios to add JTAG mode)
|
9 | Info : clock speed 1001 kHz
|
10 | Warn : gdb services need one or more targets defined
|
11 | ** Unable to reset target **
|
12 | shutdown command invoked
|
13 | embedded:startup.tcl:558: Error:
|
14 | at file "embedded:startup.tcl", line 558
|
Fehlt also vermutlich irgdendeine RESET line...?
Jetzt habe ich "srst" in die Config geschrieben und Kabel an GPIO 24:
Okay, aber wo genau stecke ich nun das Reset Kabel vom Rpi am Bluepill
rein?
Muss das in den Mittelpin vom BOOT0 Jumper?