Schlagwort-Archive: BluePill

BitBastelei #366 – Live-Debugging von Mikrocontrollern mit PlatformIO

BitBastelei #366 - Live-Debugging von Mikrocontrollern mit PlatformIO

(117 MB) 00:13:19

2020-01-05 11:00 🛈

Wenn es bei µC-Projekten darum geht Fehler zu suchen endet es meist mit dutzenden unübersichtlichen Serial.println-Zeilen im Code. Aktuelle Prozessorgenerationen erlauben es jedoch live die Ausführung zu überwachen, die CPU anzuhalten und den Inhalt von Variabeln und Registern zu beobachten. Mit PIO ist diese Funktion nun auch für Einsteigen recht einfach Nutzbar.

BitNotice #152 – BluePill/STM32 Flash entsperren

BitNotice #152 - BluePill/STM32 Flash entsperren

(23 MB) 00:02:39

2020-01-05 10:30 🛈

Die BluePill-Boards mit ihrem STM32 sind ein günstiger einstieg in die Welt der ARM-Prozessoren. Unter anderem der native USB-Anschluss ist eine praktische Ergänzung für viele Projekte, die auf WLAN verzichten können. Leider werden diese Boards ab und an mit einem gesperrten Flash geliefert, sodass Programmierversuche fehlschlagen. Mit wenigen Handgriffen kann man den Prozessor jedoch zurücksetzen und den Flash so wieder freigeben.

Fehlermeldung

 xPack OpenOCD, 64-bit Open On-Chip Debugger 0.10.0+dev (2019-07-17-11:25)
 Licensed under GNU GPL v2
 For bug reports, read
         http://openocd.org/doc/doxygen/bugs.html
 debug_level: 1
 
 hla_swd
 none separate
 
 target halted due to debug-request, current mode: Thread  
 xPSR: 0x01000000 pc: 0x1ffff020 msp: 0x200001fc
 ** Programming Started **
 Warn : STM32 flash size failed, probe inaccurate - assuming 128k flash
 Error: stm32x device protected
 Error: failed erasing sectors 0 to 12
 embedded:startup.tcl:449: Error: ** Programming Failed **
 in procedure 'program'  
 in procedure 'program_error' called at file "embedded:startup.tcl", line 508
 at file "embedded:startup.tcl", line 449
 *** [upload] Error 1 

Befehl zum entsperren

openocd -f /usr/share/openocd/scripts/interface/stlink-v2.cfg -f /usr/share/openocd/scripts/target/stm32f1x.cfg -c init -c "reset halt" -c "stm32f0x unlock 0" -c "reset run" -c shutdown