新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Cortex-M3 (NXP LPC1788)之看門狗定時器對Flash編程的影響

Cortex-M3 (NXP LPC1788)之看門狗定時器對Flash編程的影響

作者: 時間:2016-11-19 來源:網(wǎng)絡(luò) 收藏
這兩天在學(xué)習(xí)窗口式看門狗模塊,之前一直調(diào)試的很happy,今天早上突然就進(jìn)入不了調(diào)試模式,而且無法擦除Flash,無法下載程序。郁悶了半天,以為是Keil軟件和Ulink出了問題,在另外個電腦上重載,問題依舊。準(zhǔn)備用ISP進(jìn)行嘗試,使用FlashMagic軟件,進(jìn)行讀取芯片的ID,一直報(bào)警autobaud錯誤,進(jìn)他提示的網(wǎng)頁看下也沒有什么有用的信息。

仔細(xì)看了數(shù)據(jù)手冊,在Flash存儲器章節(jié)看到如下信息。引導(dǎo)加載器(boot loader)控制芯片復(fù)位后的初始化操作,并提供對Flash存儲器進(jìn)行編程的工具。包括ISP,通過引導(dǎo)加載器軟件和UART0串口片上Flash存儲器進(jìn)行編程或在編程。IAP,應(yīng)用終端用戶的應(yīng)用代碼對片上Flash存儲器進(jìn)行編程。

本文引用地址:http://butianyuan.cn/article/201611/318451.htm

Flash引導(dǎo)加載器代碼在芯片每次上電或復(fù)位后最先執(zhí)行。加載器可以執(zhí)行ISP命令處理器或用戶的應(yīng)用代碼。復(fù)位之后,P2[10]引腳的低電平可以被視為啟動使用UART0管腳的ISP命令處理器的外部硬件請求。假定在復(fù)位管腳出現(xiàn)上升沿時,電源管腳出現(xiàn)標(biāo)稱電平,那么在采樣P2[10]之前有3ms的時間來決定是執(zhí)行用戶代碼還是ISP處理器。如果P2[10]取樣得到低電平且看門狗溢出標(biāo)志置位,那么啟動ISP命令處理器的外部硬件請求將被忽略。在沒有ISP命令處理器執(zhí)行的請求時,將搜索有效的用戶程序。

根據(jù)紅色標(biāo)記的那句話可知由于我的看門狗調(diào)試程序中,設(shè)置了溢出不復(fù)位,且溢出后沒有清除溢出標(biāo)志。所以導(dǎo)致系統(tǒng)無法產(chǎn)生執(zhí)行ISP處理器的硬件請求。也就無法通過ISP對芯片進(jìn)行操作。

問題的原因已經(jīng)找到,為了解決這個問題,由于自己的調(diào)試看門狗程序有問題(一上電就復(fù)位,且沒清溢出標(biāo)志),所以正常情況下通過ISP擦除Flash沒法成功。嘗試用ULINK的JTAG接口進(jìn)行擦除,但是也一直報(bào)警出錯。后來只能使用最笨的辦法,在上電的時候按住復(fù)位按鍵,然后反復(fù)上電,反復(fù)使用FlashMagic進(jìn)行擦除嘗試,終于擦除成功。 擦除以后使用ULINK進(jìn)行下載程序,可以連接正常。

終于可以重新正常使用開發(fā)板,繼續(xù)調(diào)試WDT模塊,有點(diǎn)揪心,接下去調(diào)試得仔細(xì)點(diǎn)了。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉