一、應(yīng)用描述
ISP(In System Programming),在系統(tǒng)編程,使用片內(nèi)駐留出廠引導(dǎo)程序(BootROM)配合UART / SPI等外設(shè)進(jìn)行燒錄。
華芯微特全系MCU的ISP操作說明:當(dāng)芯片上電后檢測到 ISP 引腳持續(xù) 1ms 以上的高電平后,將會進(jìn)入 ISP(在應(yīng)用編程)模式,片內(nèi)的用戶程序?qū)⒉粫玫綀?zhí)行,此時配合使用華芯微特的上位機(jī)(SYNWIT-PRG_Vxx.exe)通過串口執(zhí)行程序擦除、更新等動作
對于華芯微特全系列MCU在板級設(shè)計中ISP引腳處理:在板級設(shè)計中必須留出ISP引腳,防止調(diào)試過程中芯片鎖死或不正常工作后,通過SWD端口已無法接入內(nèi)核訪問,即常規(guī)意義上的“變磚”,此時可通過ISP串口擦除恢復(fù)初始狀態(tài),可以看出ISP作為一種保留手段在突發(fā)意外情況時十分有效。此外,為避免外圍環(huán)境干擾導(dǎo)致芯片ISP端口在上電時被拉高而誤入ISP模式,常見表現(xiàn)為程序未得到執(zhí)行,故在板級設(shè)計中ISP端口推薦接10K下拉電阻。
特別地,SWM181、SWM190系列芯片有所差異:如果產(chǎn)品開發(fā)過程中有應(yīng)用userboot功能,當(dāng)芯片上電后檢測到ISP引腳持續(xù)5ms以上的高電平后,將優(yōu)先執(zhí)行userboot程序,ISP功能將不會執(zhí)行,只能通過SWD方式進(jìn)行程序的擦寫。所以在userboot調(diào)試過程中,初始化完成系統(tǒng)時鐘后,預(yù)留一大段延時,以免在userboot程序或APP程序調(diào)試過程中,鎖死SWD導(dǎo)致無法連接下載燒寫的情況,而在userboot調(diào)試完畢后可以去掉上述延時。另外,由于上述機(jī)制,在userboot功能應(yīng)用中,ISP端口必須外接上拉。
二、應(yīng)用舉例
ISP引腳,一般在正常工作模式或SWD燒錄時置位低電平,或接下拉電阻;在需要用ISP串口燒錄時,把ISP引腳置高電平,上電或復(fù)位MCU,在對應(yīng)的串口擦除程序或燒錄軟件。具體操作方式如下:
(以SWDM-QFP100-34SVEA3板子為例)
步驟1:ISP 引腳(A8)接 3.3V 重新上電 (或按一次 MCU 的復(fù)位腳按鍵),把 SWD 燒錄口的 B12 B14 按下圖接 CH340 的串口
步驟2:打開SYNWIT-PRG_Vxx.exe,選擇SWM341系列,點擊確認(rèn)
步驟3:選擇操作接口為UART,波特率為115200,選擇MCU模式,打開串口,復(fù)位MCU后立馬點擊握手,顯示握手成功,如下圖所示。
步驟4:點擊全部擦除,稍等片刻后提示擦除成功,此時芯片內(nèi)程序已被擦除,斷開ISP引腳和3.3V的連接,重新上電或復(fù)位,芯片可以正常使用。