Bare Mindestskripte zum Sperr- oder Entsperren von STM32 -Geräten
Installieren Sie die folgenden Tools in Ihrem System.
Verwendung von Version 0.10.0
sudo apt-get install openocdSiehe XPACK OpenOCD -Installationsanweisungen oder laden Sie die neueste veröffentlichte Version herunter, entpacken Sie sie und ändern Sie die Rechte.
wget https://github.com/xpack-dev-tools/openocd-xpack/releases/download/v0.10.0-14/xpack-openocd-0.10.0-14-darwin-x64.tar.gz
tar -zxvf xpack-openocd-0.10.0-14-darwin-x64.tar.gz
chmod -R -w xpack-openocd-0.10.0-14-darwin-x64Verschieben Sie die Dateien in Ihren Anwendungsordner und erstellen Sie einen Symlink, um sie mit denselben Befehlen wie unter Linux zu verwenden
sudo ln -s /Volumes/Macintosh HD/Applications/OpenOCD/ /usr/share/openocdsudo apt-get install telnetNennen Sie dies im ersten Terminal
openocd -d3 -f stlink-v2.cfg -c " transport select hla_swd " -f stm32f1x.cfgGeöffnetes zweites Terminal
telnet 127.0.0.1 4444Wenn der Chip gesperrt ist, kann er erst programmiert werden, wenn er entsperrt ist.
Nach dem Sperren des Chips ist ein Stromzyklus erforderlich, um das Programm auszuführen.
Das Entsperren des Chips löscht den Inhalt vollständig.
Konfigurationsdateien für STLINK befinden sich unter /usr/share/openocd/scripts/interface/ /usr/share/openocd/scripts/target/ config for targets finden
Achten Sie auf verschiedene Stlink -Versionen, die sich nur in einem einzigen Char von VID unterscheiden.
sh flash.sh path/to/some/file.binFlash eine Datei mit Debug Level 1
sh flash.sh path/to/some/file.bin -d1Sperren Sie einen STM32F1 mit einem stlink v2
sh lock.shFühren Sie die Sperre mit Debug Level 2 auf einem STM32F1 mit einem STLink V2 durch
sh lock.sh -d2 Verwenden Sie general_un_lock_st.sh um ein allgemeines STM32 -Gerät zu sperren oder freizuschalten. Das folgende Beispiel ist für einen STM32F0 mit einem STLink
sh un_lock_st.sh
/Applications/OpenOCD/bin/openocd
/Applications/OpenOCD/scripts
stlink
stm32f0x
lockSchalte einen STM32F1 mit einem stlink v2 frei
sh unlock.shFühren Sie die Entsperren mit Debug Level 1 auf einem STM32F1 mit einem STLink V2 durch
sh unlock.sh -d1 Verwenden Sie general_un_lock_st.sh um ein allgemeines STM32 -Gerät zu sperren oder freizuschalten. Das folgende Beispiel ist für einen STM32F0 mit einem STLink
sh un_lock_st.sh
/Applications/OpenOCD/bin/openocd
/Applications/OpenOCD/scripts
stlink
stm32f0x
unlockDurchführen des Ziels mit einem Himbeer -PI -Pin.
Schließen Sie die VCC der Debug -Schnittstelle über einen Transistor oder MOSFET an VCC an. Der MOSFET oder Transistor wird vom Raspberry Pi Pin gesteuert.
Sie müssen dieses Skript einmal ausführen, um den PIN zu konfigurieren und einzuschalten.
python power_cycle.py