ISP是指“在系统上编程”,目标芯片使用USB/UART/SPI/I²C/RS-485/CAN周边接口的LDROM引导代码去更新晶片内部APROM、数据闪存(DataFlash)和用户配置字(Config)。 ICP是指“在电路编程”,PC上运行的软件“NuMicro ICP编程工具”透过SWD的端口更新晶片内部APROM、LDROM、数据闪存(DataFlash)和目标用户配置字(Config)芯片。 IAP是指「在应用上程序设计」,是一个提供使用者切换在APROM或LDROM执行程序代码而不需重置的功能,用户可以设置IAP功能藉由重启芯片,并设置于CBS (CONFIG0[7:6])芯片启动选择位为2或0。当芯片启动带有IAP功能时,任何其他可执行区域页的代码可于任意时刻被映射至第一页(0x0000_0000~0x0000_01FF),用户可藉由ISPADR寄存器填入目标芯片重新映像地址来更改第一个可执行区域页地址,再执行向量页重新映像(Vector Page Re-map)指令。变更重新映像地址后,用户可藉由读取VECMAP(ISPSTA[20:9])来检查是否变更成功。 (下图为M05xDN/DE series 设置IAP后程序代码可执行区域的范例)
|