STM32 장치를 잠그거나 잠금 해제하는 최소 스크립트를 베어링합니다
시스템에 다음 도구를 설치하십시오.
중고 버전 0.10.0
sudo apt-get install openocdXpack OpenOCD 설치 지침을 참조하거나 최신 릴리스 버전을 다운로드하고 압축을 풀고 권한을 변경하십시오.
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-x64파일을 응용 프로그램 폴더로 이동하고 Symlink를 작성하여 Linux에서와 동일한 명령으로 사용할 수 있습니다.
sudo ln -s /Volumes/Macintosh HD/Applications/OpenOCD/ /usr/share/openocdsudo apt-get install telnet이것을 첫 번째 터미널에서 호출하십시오
openocd -d3 -f stlink-v2.cfg -c " transport select hla_swd " -f stm32f1x.cfg두 번째 터미널을 열십시오
telnet 127.0.0.1 4444칩이 잠겨 있으면 잠금 해제 될 때까지 프로그래밍 할 수 없습니다.
프로그램을 실행하기 위해 칩을 잠그면 전원주기가 필요합니다.
칩을 잠금 해제하면 콘텐츠가 완전히 지워집니다.
stlink의 구성 파일은 /usr/share/openocd/scripts/interface/ 에 위치하고 대상 구성은 /usr/share/openocd/scripts/target/ 에서 찾을 수 있습니다.
하나의 단일 문자 VID에서만 다른 Stlink 버전을 알고 있어야합니다.
sh flash.sh path/to/some/file.bin디버그 레벨 1이있는 파일을 플래시하십시오
sh flash.sh path/to/some/file.bin -d1STLINK V2로 STM32F1을 잠그십시오
sh lock.shSTLINK V2가있는 STM32F1에서 디버그 레벨 2로 잠금을 수행하십시오.
sh lock.sh -d2 일반적인 STM32 장치를 잠그거나 잠금 해제하려면 general_un_lock_st.sh 사용하십시오. 다음 예는 stlink를 사용하여 STM32F0에 대한 것입니다.
sh un_lock_st.sh
/Applications/OpenOCD/bin/openocd
/Applications/OpenOCD/scripts
stlink
stm32f0x
lockSTLINK V2로 STM32F1을 잠금 해제하십시오
sh unlock.shSTLINK V2가있는 STM32F1에서 디버그 레벨 1로 잠금 해제를 수행하십시오.
sh unlock.sh -d1 일반적인 STM32 장치를 잠그거나 잠금 해제하려면 general_un_lock_st.sh 사용하십시오. 다음 예는 stlink를 사용하여 STM32F0에 대한 것입니다.
sh un_lock_st.sh
/Applications/OpenOCD/bin/openocd
/Applications/OpenOCD/scripts
stlink
stm32f0x
unlockRaspberry Pi 핀을 사용하여 전원 순환 대상.
트랜지스터 또는 MOSFET을 통해 디버그 인터페이스의 VCC를 VCC에 연결하십시오. MOSFET 또는 트랜지스터는 Raspberry Pi 핀에 의해 제어됩니다.
핀을 구성하고 켜기 위해이 스크립트를 한 번 실행해야합니다.
python power_cycle.py