我最近有點標(biāo)題黨了,老是喜歡起這種赤裸裸的標(biāo)題,呵呵,不過相信點進(jìn)來的博友應(yīng)該懂此“喂狗”的意思,下面咱們好好聊聊Kinetis“喂狗”的問題,走著…
看門狗功能大家都耳熟能詳了,產(chǎn)品在最后量產(chǎn)之前,為了保證系統(tǒng)可靠性我們一般會把看門狗功能加進(jìn)去,防止代碼在某些意外情況下進(jìn)入死鎖狀態(tài)從而導(dǎo)致整個系統(tǒng)的癱瘓(看門狗超時產(chǎn)生復(fù)位信號將系統(tǒng)重啟),甚至有些對可靠性要求更嚴(yán)格的領(lǐng)域,都需要加入外部看門狗來保證產(chǎn)品穩(wěn)定性。Kinetis系列的看門狗使用起來是比較簡單的,具體的配置我這里就不多說了,可以直接參考官方的參考代碼配置,本篇文章的目的是需要提醒廣大用戶在使用Kinetis的時候需要特別注意的問題:
1. 看門狗配置寄存器需要在解鎖看門狗之后的256個總線時鐘周期時間之內(nèi)完成,也就是說在這256個總線周期之內(nèi)我們需要快速完成看門狗功能的初始化,正常來講這個配置的時間肯定足夠了,還是強(qiáng)烈建議在配置看門狗之前把全局中斷關(guān)掉,配置之后再打開全局中斷,老話說的好,不怕一萬就怕萬一啊,萬一就那么趕巧在配置過程中來一個中斷把時間耗費掉就完了,是吧,安全重要,安全重要,安全重要啊,重要事情得講三遍,呵呵;
2.我們喂狗的函數(shù)也不能被打斷,在往看門狗寄存器連續(xù)寫入0xA602和0xB480兩個數(shù)據(jù)是需要在20個總線周期內(nèi)必須完成的,so…在刷狗喂狗的過程中也不能打開中斷;
3. 第三個問題實際上我寫這篇文章的初衷,這個問題我們手冊里沒有像前兩點那樣在手冊中特別標(biāo)注,但是對我們用戶來說卻不能忽視的。很多用戶為了簡單方便起見,會直接在主程序或者某個專門的任務(wù)中while(1)或者for死循環(huán)加入一個喂狗程序?qū)iT負(fù)責(zé)不斷的喂狗,這樣簡單明了,但是這樣是有潛在風(fēng)險的,對Kinetis來說,每次喂狗的間隔還需要保證至少4個看門狗時鐘以上的時間,這個在軟件喂狗的時候需要額外注意的。
好了,由于問題比較簡單,所以就寫到這了,大家知道這個事就行了,哈哈。未完待續(xù)~
-
看門狗
+關(guān)注
關(guān)注
10文章
554瀏覽量
70573 -
寄存器
+關(guān)注
關(guān)注
31文章
5253瀏覽量
119205
原文標(biāo)題:【博文精選】Kinetis的"喂狗"時間不能太短了
文章出處:【微信號:ChinaAET,微信公眾號:電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論