Cortex-M3 (NXP LPC1788)之看門(mén)狗定時(shí)器對Flash編程的影響
仔細看了數據手冊,在Flash存儲器章節看到如下信息。引導加載器(boot loader)控制芯片復位后的初始化操作,并提供對Flash存儲器進(jìn)行編程的工具。包括ISP,通過(guò)引導加載器軟件和UART0串口片上Flash存儲器進(jìn)行編程或在編程。IAP,應用終端用戶(hù)的應用代碼對片上Flash存儲器進(jìn)行編程。
本文引用地址:http://dyxdggzs.com/article/201611/318451.htmFlash引導加載器代碼在芯片每次上電或復位后最先執行。加載器可以執行ISP命令處理器或用戶(hù)的應用代碼。復位之后,P2[10]引腳的低電平可以被視為啟動(dòng)使用UART0管腳的ISP命令處理器的外部硬件請求。假定在復位管腳出現上升沿時(shí),電源管腳出現標稱(chēng)電平,那么在采樣P2[10]之前有3ms的時(shí)間來(lái)決定是執行用戶(hù)代碼還是ISP處理器。如果P2[10]取樣得到低電平且看門(mén)狗溢出標志置位,那么啟動(dòng)ISP命令處理器的外部硬件請求將被忽略。在沒(méi)有ISP命令處理器執行的請求時(shí),將搜索有效的用戶(hù)程序。
根據紅色標記的那句話(huà)可知由于我的看門(mén)狗調試程序中,設置了溢出不復位,且溢出后沒(méi)有清除溢出標志。所以導致系統無(wú)法產(chǎn)生執行ISP處理器的硬件請求。也就無(wú)法通過(guò)ISP對芯片進(jìn)行操作。
問(wèn)題的原因已經(jīng)找到,為了解決這個(gè)問(wèn)題,由于自己的調試看門(mén)狗程序有問(wèn)題(一上電就復位,且沒(méi)清溢出標志),所以正常情況下通過(guò)ISP擦除Flash沒(méi)法成功。嘗試用ULINK的JTAG接口進(jìn)行擦除,但是也一直報警出錯。后來(lái)只能使用最笨的辦法,在上電的時(shí)候按住復位按鍵,然后反復上電,反復使用FlashMagic進(jìn)行擦除嘗試,終于擦除成功。 擦除以后使用ULINK進(jìn)行下載程序,可以連接正常。
終于可以重新正常使用開(kāi)發(fā)板,繼續調試WDT模塊,有點(diǎn)揪心,接下去調試得仔細點(diǎn)了。
評論