[發明專利]一種無看門狗中斷的程序數據保留方法、裝置及存儲介質在審
| 申請號: | 202210598751.2 | 申請日: | 2022-05-30 |
| 公開(公告)號: | CN114924859A | 公開(公告)日: | 2022-08-19 |
| 發明(設計)人: | 周寧寧 | 申請(專利權)人: | 蘇州浪潮智能科技有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F11/07;G06F1/24 |
| 代理公司: | 濟南誠智商標專利事務所有限公司 37105 | 代理人: | 李魁峰 |
| 地址: | 215100 江蘇省蘇州市吳*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 看門狗 中斷 程序 數據 保留 方法 裝置 存儲 介質 | ||
本發明涉及一種無看門狗中斷的程序數據保留方法、裝置及存儲介質。本發明方法中,預設一小于看門狗超時閾值的計時超時閾值,在達到計時超時閾值時,定時器暫停并觸發超時處理函數,超時處理函數在達到看門狗超時閾值前,關閉看門狗,將用戶程序的程序數據進行保留,保留完成后啟動看門狗,控制定時器繼續計時,看門狗計時達到看門狗超時閾值后,看門狗進行復位。將不具備中斷功能的看門狗的復位過程拆分成兩個階段,在第一個階段進行用戶程序數據保留,在第二個階段才復位,從而使不具備中斷功能的看門狗檢測到用戶程序異常時不會立刻復位,避免立刻復位導致的程序數據丟失。本發明所提供裝置及存儲介質的效果與方法一致。
技術領域
本發明涉及用戶程序異常狀態保留技術領域,尤其涉及一種無看門狗中斷的程序數據保留方法、裝置及存儲介質。
背景技術
在嵌入式系統中,往往采用看門狗控制程序運行。
看門狗的工作原理是:設定一看門狗超時閾值,看門狗在未被喂狗函數喂狗時,持續計時,一旦計時達到看門狗超時閾值則看門狗進行復位,其中,程序運行正常時,會間隔小于看門狗超時閾值的時間調用喂狗函數執行喂狗,當程序運行異常時,無法正常調用喂狗函數執行喂狗,看門狗計時會達到看門狗超時閾值執行復位。對于支持看門狗中斷的芯片,執行復位前,可以對看門狗中斷,存儲程序數據,使得程序數據保留。但某些芯片中,不支持看門狗中斷,無法捕獲中斷信號而直接復位,使得程序的數據無法被保留。
發明內容
為了解決上述技術問題或者至少部分地解決上述技術問題,本發明提供一種無看門狗中斷的程序數據保留方法、裝置及存儲介質。
第一方面,本發明提供一種無看門狗中斷的程序數據保留方法,包括:
用戶程序注冊其超時處理函數,使所述超時處理函數與超時中斷函數綁定;
用戶程序的看門狗由可控中斷的定時器計時,所述定時器的中斷由超時中斷函數控制;
用戶程序的看門狗運行過程中,看門狗的計時達到計時超時閾值時,觸發用戶程序的超時中斷函數;超時中斷函數暫停定時器的計時,并喚醒用戶程序的超時處理函數,所述超時處理函數臨時關閉用戶程序的看門狗,執行數據保留操作,并在數據保留操作執行完成后恢復看門狗運行,并使超時中斷函數控制定時器繼續計時;
定時器在原有計時的基礎上繼續計時,看門狗的計時達到看門狗超時閾值時,看門狗執行復位。
更進一步地,將不支持看門狗中斷的看門狗,看門狗的喂狗函數,為看門狗計時的可中斷的定時器和超時中斷函數部署于內核;所述內核為超時中斷函數和超時處理函數提供相互溝通的中斷處理接口,所述內核為用戶程序提供用于使能內核內的看門狗和定時器的使能接口,所述內核為用戶程序提供用于調用喂狗函數的喂狗函數調用接口,所述內核為用戶程序提供用于配置看門狗的看門狗超時閾值、超時中斷函數的計時超時閾值的配置接口。
更進一步地,在用戶程序配置計時超時閾值和看門狗超時閾值,用戶程序通過內核提供的配置接口將所配置的計時超時閾值和看門狗超時閾值配置于看門狗和超時中斷函數。
更進一步地,所述數據保留操作包括將用戶程序的數據永久性存儲,記錄復位以及數據保留操作日志。
更進一步地,以小于計時超時閾值的周期循環檢測用戶程序的運行是否正常,正常則調用喂狗函數,喂狗函數被調用后刷新看門狗和看門狗的定時器。
更進一步地,構建超時處理多線程,將所述超時處理函數的執行提交給超時處理多線程,啟動超時處理多線程,以多線程的形式執行超時處理函數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于蘇州浪潮智能科技有限公司,未經蘇州浪潮智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210598751.2/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





