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