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