สคริปต์ขั้นต่ำสุดเปลือยเพื่อล็อคหรือปลดล็อกอุปกรณ์ STM32
ติดตั้งเครื่องมือต่อไปนี้ในระบบของคุณ
รุ่นที่ใช้ 0.10.0
sudo apt-get install openocdดูคำแนะนำการติดตั้ง XPack 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หากชิปถูกล็อคมันจะไม่สามารถตั้งโปรแกรมได้จนกว่าจะถูกปลดล็อค
ต้องใช้วงจรพลังงานหลังจากล็อคชิปเพื่อเรียกใช้โปรแกรม
การปลดล็อกชิปจะลบเนื้อหาอย่างสมบูรณ์
ไฟล์ config สำหรับ stlink อยู่ที่ /usr/share/openocd/scripts/interface/ , config สำหรับเป้าหมายสามารถพบได้ที่ /usr/share/openocd/scripts/target/
ระวังรุ่น stlink ที่แตกต่างกันซึ่งแตกต่างกันในถ่านเดียวของ vid เดียว
sh flash.sh path/to/some/file.binแฟลชไฟล์ที่มีการดีบักระดับ 1
sh flash.sh path/to/some/file.bin -d1ล็อค STM32F1 ด้วย stlink v2
sh lock.shดำเนินการล็อคด้วย Debug Level 2 บน STM32F1 ด้วย Stlink V2
sh lock.sh -d2 ใช้ general_un_lock_st.sh เพื่อล็อคหรือปลดล็อกอุปกรณ์ STM32 ทั่วไป ตัวอย่างต่อไปนี้สำหรับ STM32F0 โดยใช้ stlink
sh un_lock_st.sh
/Applications/OpenOCD/bin/openocd
/Applications/OpenOCD/scripts
stlink
stm32f0x
lockปลดล็อก STM32F1 ด้วย stlink v2
sh unlock.shทำการปลดล็อคด้วยการดีบักระดับ 1 บน STM32F1 ด้วย Stlink V2
sh unlock.sh -d1 ใช้ general_un_lock_st.sh เพื่อล็อคหรือปลดล็อกอุปกรณ์ STM32 ทั่วไป ตัวอย่างต่อไปนี้สำหรับ STM32F0 โดยใช้ stlink
sh un_lock_st.sh
/Applications/OpenOCD/bin/openocd
/Applications/OpenOCD/scripts
stlink
stm32f0x
unlockวงจรพลังงานเป้าหมายโดยใช้พิน Raspberry Pi
เชื่อมต่อ VCC ของอินเทอร์เฟซดีบั๊กผ่านทรานซิสเตอร์หรือ MOSFET กับ VCC MOSFET หรือทรานซิสเตอร์ถูกควบคุมโดย Raspberry Pi Pin
คุณต้องเรียกใช้สคริปต์นี้หนึ่งครั้งเพื่อกำหนดค่าพินและเปิดใช้งาน
python power_cycle.py