Scripts mínimos mínimos para bloquear o desbloquear dispositivos STM32
Instale las siguientes herramientas en su sistema.
Versión usada 0.10.0
sudo apt-get install openocdConsulte las instrucciones de instalación de Xpack OpenOCD o descargue la última versión lanzada, descifrarla y cambiar sus derechos.
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-x64Mueva los archivos a su carpeta de aplicaciones y cree un enlace simbólico para usarlo con los mismos comandos que en Linux
sudo ln -s /Volumes/Macintosh HD/Applications/OpenOCD/ /usr/share/openocdsudo apt-get install telnetLlame a esto en la primera terminal
openocd -d3 -f stlink-v2.cfg -c " transport select hla_swd " -f stm32f1x.cfgAbrir segundo terminal
telnet 127.0.0.1 4444Si el chip está bloqueado, no se puede programar hasta que se desbloquee.
Se requiere un ciclo de potencia después de bloquear el chip para ejecutar el programa.
Desbloquear el chip borrará su contenido por completo.
Los archivos de configuración para stlink se encuentran a /usr/share/openocd/scripts/interface/ , config para objetivos se puede encontrar AT /usr/share/openocd/scripts/target/ .
Tenga en cuenta las diferentes versiones de Stlink, que solo difieren en un solo carbón de VID.
sh flash.sh path/to/some/file.binFlashear un archivo con el nivel de depuración 1
sh flash.sh path/to/some/file.bin -d1Bloquear un STM32F1 con un stlink v2
sh lock.shRealice el bloqueo con el nivel de depuración 2 en un STM32F1 con un stlink v2
sh lock.sh -d2 Use general_un_lock_st.sh para bloquear o desbloquear un dispositivo STM32 general. El siguiente ejemplo es para un STM32F0 usando un stlink
sh un_lock_st.sh
/Applications/OpenOCD/bin/openocd
/Applications/OpenOCD/scripts
stlink
stm32f0x
lockDesbloquee un STM32F1 con un stlink v2
sh unlock.shRealice desbloquear con el nivel de depuración 1 en un stm32f1 con un stlink v2
sh unlock.sh -d1 Use general_un_lock_st.sh para bloquear o desbloquear un dispositivo STM32 general. El siguiente ejemplo es para un STM32F0 usando un stlink
sh un_lock_st.sh
/Applications/OpenOCD/bin/openocd
/Applications/OpenOCD/scripts
stlink
stm32f0x
unlockCiclo de alimentación El objetivo utilizando un pin Raspberry Pi.
Conecte VCC de la interfaz de depuración a través de un transistor o MOSFET a VCC. El MOSFET o el transistor está controlado por el pin Raspberry Pi.
Debe ejecutar este script una vez para configurar el PIN y encenderlo.
python power_cycle.py