刚入手一块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又满血复活了。