ISP(In-System Programming)在系统编程,使用片内驻留出厂引导程序(BootROM)配合UART/SPI等外设进行烧录。
华芯微特全系列 MCU 的 ISP 机制是:当芯片上电后检测到 ISP 引脚持续 5ms 以上的高电平后,将会进入 ISP 模式,片内的用户程序将不会得到执行,此时配合使用华芯微特的上位机(SYNWIT-PRG_Vxx.exe)通过串口执行程序擦除、更新等动作。
对于华芯微特全系列 MCU 在板级设计中 ISP 引脚的处理:在板级设计必须留出 ISP 引脚(eg:留个焊点),防止调试过程中芯片锁死后或不正常工作后,通过 SWD 端口已无法接入内核访问,即常规意义上的“变砖”,此时可通过 ISP 串口擦除恢复初始状态,可以看出 ISP 作为一种保留手段在突发意外情况时十分有效,此外,为避免外围环境干扰导致芯片 ISP 端口在上电时被拉高而致使误入 ISP 模式,常见表现为用户程序未得到执行,故在板级设计中 ISP 端口推荐接 10K 下拉电阻。
特别对于 SMW181、SWM190 系列芯片,其早期设计机制有所差异:如果产品开发过程中有应用 Userboot 功能,当芯片上电后检测到 ISP 引脚持续 5ms 以上的高电平后,将优先执行 Userboot 程序,ISP 功能将不会执行(可以简单地理解为 UserBoot 程序会顶替掉 ISP ,二者互斥),只能通过 SWD 方式进行程序的擦写。所以,在 Userboot 调试过程中,初始化完成系统时钟后,预留一大段延时,以免在 Userboot 程序 或 APP 程序调试过程中,锁死 SWD 导致无法连接下载烧写的情况,而在 Userboot 调试完毕后,可去掉上述延时,程序健壮性应由用户保证。另外,由于上述机制的缘由,在 Userboot 功能应用中,ISP 端口必须外接上拉,否则应推荐接下拉。
|