剛入手一塊STM32F429Discovery。手癢癢的,准備寫個程序進去。一不小心,把MCU的調試接口SW、JTAG全部給禁用了。這下可壞了,寫不進去程序,擦不掉數據。愁的某家一頭大汗。突然想起了當年玩F1的時候有個IAP功能,F4應該也有着功能的。於是找到了這個:
http://www.mcuisp.com/chinese%20mcuisp%20web/index.htm
沒有針對F4的軟件。下載F1的FlyMCU IAP軟件之后,直接連還是連不上,軟件是一直在等待芯片回應。
之后查了下ST的文檔AN2606,STM32™ microcontroller system memory boot mode。看見這樣一段換:
The hardware required to put the STM32F429xx/439xx into System memory boot mode
consists of any circuitry, switch or jumper, capable of holding the BOOT0 pin high and the
BOOT1 pin low during reset.
就是說BOOT0應該接在VDD上,BOOT1接在GND上,這樣才能進入IAP模式。
於是將這兩個引腳連接好,再次用F1的軟件對芯片IAP,選擇擦除芯片。軟件開始等待芯片回應。此時,RESET開發板上的MCU,就會進入IAP模式將芯片上的一些數據擦除掉。
擦除一點數據就好了,目的是讓MCU啟動不起來。使用板載的STLink重新下載程序到芯片中,STM32F429Discovery又滿血復活了。