1.应用描述
ISP(In System Programming),在系统编程,使用片内驻留出厂引导程序(BootROM)配合UART / SPI等外设进行烧录。
华芯微特全系MCU的ISP操作说明:当芯片上电后检测到 ISP 引脚持续 5ms 以上的高电平后,将会进入 ISP(在应用编程)模式,片内的用户程序将不会得到执行,此时配合使用华芯微特的上位机(SYNWIT-PRG_Vxx.exe)通过串口执行程序擦除、更新等动作。
对于华芯微特全系列MCU在板级设计中ISP引脚处理:在板级设计中必须留出ISP引脚,防止调试过程中芯片锁死或不正常工作后,通过SWD端口已无法接入内核访问,即常规意义上的“变砖”,此时可通过ISP串口擦除恢复初始状态,可以看出ISP作为一种保留手段在突发意外情况时十分有效。此外,为避免外围环境干扰导致芯片ISP端口在上电时被拉高而误入ISP模式,常见表现为程序未得到执行,故在板级设计中ISP端口推荐接10K下拉电阻。
特别地,SWM181、SWM190系列芯片有所差异:如果产品开发过程中有应用userboot功能,当芯片上电后检测到ISP引脚持续5ms以上的高电平后,将优先执行userboot程序,ISP功能将不会执行,只能通过SWD方式进行程序的擦写。所以在userboot调试过程中,初始化完成系统时钟后,预留一大段延时,以免在userboot程序或APP程序调试过程中,锁死SWD导致无法连接下载烧写的情况,而在userboot调试完毕后可以去掉上述延时。另外,由于上述机制,在userboot功能应用中,ISP端口必须外接上拉。
2.应用举例
ISP引脚,一般在正常工作模式或SWD烧录时置位低电平,或接下拉电阻;在需要用ISP串口烧录时,把ISP引脚置高电平,上电或复位MCU,在对应的串口擦除程序或烧录软件。具体操作方式如下:
以SWDM-QFP100-34SVEA3板子为例
步骤1:ISP 引脚(A8)接 3.3V 重新上电 (或按一次 MCU 的复位脚按键),把 SWD 烧录口的 B12 B14 按下图接 CH340 的串口。
步骤2:打开SYNWIT-PRG_Vxx.exe,选择SWM341系列,点击确认
步骤3:选择操作接口为UART,波特率为115200,选择MCU模式,打开串口,复位MCU后立马点击握手,显示握手成功,如下图所示。
步骤4:点击全部擦除,稍等片刻后提示擦除成功,此时芯片内程序已被擦除,断开ISP引脚和3.3V的连接,重新上电或复位,芯片可以正常使用。