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