1. 程式人生 > >Freescale MKL16Z1288VF4 芯片調試接口

Freescale MKL16Z1288VF4 芯片調試接口

初始化 定時器 翻譯 鎖定 應用軟件 mage 地址 技術分享 周期

技術分享圖片

WDOG監視內部系統操作,並在發生故障時強制復位。它可以運行在一個獨立的1 kHz低功率振蕩器,具有可編程刷新窗口,以檢測程序流或系統頻率的偏差。

技術分享圖片

看門狗計時器保持一個時間在系統上運行,並重置它,以防其故障。

技術分享圖片

COP 時鐘有 1KHZ時鐘 和總線時鐘兩個來源。

技術分享圖片

COP看門狗旨在在應用軟件出現故障時強制重置系統 按預期執行。 防止系統從COP定時器復位(當它是 啟用),應用軟件必須定期復位COP計數器。 如果 應用程序丟失並且在超時之前無法重置COP計數器,a 生成系統重置以強制系統返回已知的起始點。

任何復位後,COP看門狗都會啟用。 如果沒有使用COP看門狗 應用程序,可以通過清除SIM_COPC [COPT]來禁用它。

下面的是餵狗操作: 在選定的超時期間,通過將0x55和0xaa(按該順序)寫入sim服務COP(SrvCOP)寄存器的地址來重置COP計數器。寫入不會影響srvCOP寄存器中的數據。一旦寫入序列完成,COP超時周期就會重新啟動。如果程序無法在超時期間執行此重新啟動,則微控制器將重置。此外,如果將0x55或0xaa以外的任何值寫入srvCOP寄存器,則微控制器立即重置。

SIM_COPC[COPCLKS]選擇用於COP計時器的時鐘源。時鐘源選項要麽是總線時鐘,要麽是內部1 kHz時鐘源。對於每個時鐘源,相關的超時由SIM_COPC[COPT]控制。下表總結了SIM_COPCTRL[COPCLKS]和SIM_COPC[COPT]字段的控制功能。COP看門狗默認從1 kHz時鐘源運行,最長超時是2的10次方 個周期。

技術分享圖片

技術分享圖片

選擇總線時鐘源後,可以通過設置SIM_COPC[COPW]進行窗口COP操作。在此模式下,寫入SIM_SRVCOP以清除COP定時器必須發生在所選超時時間的最後25%。過早的寫入會立即重置芯片。當選擇1 kHz時鐘源時,窗口COP操作不可用

下面這段很重要: COP計數器由對SIM_COPC的第一次寫入和任何系統重置後初始化。後續寫入SIM_COPC對COP操作沒有任何影響。即使應用程序使用SIM_COPC[COPCLKS],SIM_COPC[COPT],和SIM_COPC[COPW]字段的重置默認設置,用戶也應該在重置初始化期間寫入寫一次SIM_COPC寄存器以鎖定設置。如果應用程序丟失,此方法可防止意外更改。

(翻譯過來就是COP計數寄存器只能寫入一次,這個過程可以是系統啟動時設置,也可以是之後,但是只有一次寫入的機會。)

對於SIM_SRVCOP來說,服務(清除)COP計數器刷新不應該放在中斷服務例程(ISR)中,因為即使主應用程序失敗,ISR也可以繼續定期執行。

如果所選時鐘不是1 kHz時鐘源,則在微控制器處於調試模式或系統處於停止(包括VLPS或LLS)模式時,COP計數器不會增加。當微控制器退出調試或停止模式時,COP計數器將恢復。

如果選擇1 kHz時鐘源,COP計數器在進入調試模式或停止模式(包括VLPs或LLS)時重新初始化為0。計數器在退出調試模式或停止模式時從0開始。

無論選擇哪個時鐘,當芯片進入VLLSx模式時,COP都會被禁用。在從VLLSx模式喚醒芯片的重置後,COP將被重新初始化並啟用,就像任何重置一樣。

COPT這個寫一次字段選擇COP的超時時間。COPT和COPCLKS字段一起定義COP超時時間。

技術分享圖片

技術分享圖片

編寫0x55和0xaa(按該順序)重置COP超時計數器,寫入任何其他值將生成系統重置。

下面的寄存器可以查看系統重置原因;

技術分享圖片

Freescale MKL16Z1288VF4 芯片調試接口