ISP全名為"In system programming"
是指「在系統上程式設計」,目標晶片使用USB/UART/SPI/I²C/RS-485/CAN周邊介面的LDROM,引導代碼去更新晶片內部APROM, DataFlash and Config。
ICP全名為"In circuit programming"
是指「在電路程式設計」,PC上運行的軟體“NuMicro ICP程式設計工具”透過SWD的埠更新晶片內部APROM, LDROM, DataFlash 和Config。
IAP全名為"In application programming"
是指「在應用上程式設計」,是一個提供使用者切換在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後程序代碼可執行區域的範例)
評論