[發(fā)明專利]用于診斷程序運行時間異常的方法及裝置、系統(tǒng)在審
| 申請?zhí)枺?/td> | 202011531290.4 | 申請日: | 2020-12-22 |
| 公開(公告)號: | CN112667423A | 公開(公告)日: | 2021-04-16 |
| 發(fā)明(設(shè)計)人: | 生晨星;姚詹圖;秦志 | 申請(專利權(quán))人: | 深圳市禾望電氣股份有限公司 |
| 主分類號: | G06F11/07 | 分類號: | G06F11/07;G06F11/14 |
| 代理公司: | 深圳市深軟翰琪知識產(chǎn)權(quán)代理有限公司 44380 | 代理人: | 吳雅麗 |
| 地址: | 518000 廣東省深圳市福田區(qū)沙頭街道天安社區(qū)*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 用于 診斷 程序 運行 時間 異常 方法 裝置 系統(tǒng) | ||
1.一種用于診斷程序運行時間異常的方法,其特征在于,所述方法包括:
利用MCU獲取預(yù)設(shè)類型數(shù)據(jù),將獲取到的所述預(yù)設(shè)類型數(shù)據(jù)與對應(yīng)類型的預(yù)設(shè)閾值進行比較,所述預(yù)設(shè)類型數(shù)據(jù)包括目標代碼的運行時長和/或FPGA的計數(shù)值;其中,所述FPGA與所述MCU通過外接引腳連接,所述FPGA通過計數(shù)器為MCU提供計時;所述MCU控制所述FPGA計時的開始和暫停;
若比較差值大于預(yù)設(shè)差值,則輸出表征異常的診斷結(jié)果。
2.根據(jù)權(quán)利要求1所述用于診斷程序運行時間異常的方法,其特征在于,所述利用MCU獲取預(yù)設(shè)類型數(shù)據(jù),將獲取到的所述預(yù)設(shè)類型數(shù)據(jù)與對應(yīng)類型的預(yù)設(shè)閾值進行比較包括:
在上電復(fù)位時,所述FPGA自動暫停所述計數(shù)器計數(shù);
在上電復(fù)位后,所述MCU從所述FPGA中獲取監(jiān)控的目標代碼運行時長;
將所述運行時長與預(yù)設(shè)運行時長閾值進行比較。
3.根據(jù)權(quán)利要求1所述用于診斷程序運行時間異常的方法,其特征在于,所述利用MCU獲取預(yù)設(shè)類型數(shù)據(jù),將獲取到的預(yù)設(shè)類型數(shù)據(jù)與對應(yīng)類型的預(yù)設(shè)閾值進行比較包括:
在上電復(fù)位時,所述FPGA自動暫停所述計數(shù)器計數(shù);
在上電復(fù)位后,所述MCU獲取復(fù)位時刻的計數(shù)值;
將所述計數(shù)值與預(yù)設(shè)計數(shù)閾值進行比較。
4.根據(jù)權(quán)利要求1所述用于診斷程序運行時間異常的方法,其特征在于,所述利用所述MCU控制所述FPGA計時的開始和暫停包括:
在MCU執(zhí)行中斷任務(wù)函數(shù),預(yù)設(shè)任務(wù)進入任務(wù)中斷狀態(tài)時,暫停所述預(yù)設(shè)任務(wù)對應(yīng)的所述計數(shù)器的計數(shù);
若預(yù)設(shè)任務(wù)恢復(fù)運行狀態(tài),則恢復(fù)相應(yīng)所述計數(shù)器的計數(shù),否則,不恢復(fù)相應(yīng)所述計數(shù)器的計數(shù);
所述預(yù)設(shè)任務(wù)是指MCU正在運行的需要計數(shù)器進行運行計數(shù)的任務(wù)。
5.根據(jù)權(quán)利要求4所述用于診斷程序運行時間異常的方法,其特征在于,所述若識別出預(yù)設(shè)任務(wù)恢復(fù)運行狀態(tài),則恢復(fù)相應(yīng)所述計數(shù)器的計數(shù),否則,不恢復(fù)相應(yīng)所述計數(shù)器的計數(shù)的步驟,包括:
在MCU執(zhí)行一中斷任務(wù)函數(shù)時,對嵌套值進行變化處理,其中,所述嵌套值為預(yù)設(shè)置的一用于表示嵌套層級的變量;所述變化處理規(guī)則為MCU執(zhí)行一中斷任務(wù)函數(shù)時進行嵌套值的增加,MCU執(zhí)行完一中斷任務(wù)函數(shù)時進行嵌套值的減少;
在MCU執(zhí)行完一中斷任務(wù)函數(shù)時,根據(jù)當前的所述嵌套值判斷是否存在中斷任務(wù)函數(shù)嵌套;
若當前的所述嵌套值大于預(yù)設(shè)值,則識別為存在中斷任務(wù)函數(shù)嵌套,所述預(yù)設(shè)任務(wù)未恢復(fù)運行狀態(tài),則不恢復(fù)相應(yīng)所述計數(shù)器的計數(shù)。
6.根據(jù)權(quán)利要求1所述用于診斷程序運行時間異常的方法,其特征在于,所述利用所述MCU控制所述FPGA計時的開始和暫停包括:
若所述MCU進入一高優(yōu)先級任務(wù),預(yù)設(shè)任務(wù)進入任務(wù)中斷狀態(tài)時,則暫停與所述預(yù)設(shè)任務(wù)對應(yīng)的所述計數(shù)器的計數(shù);
若所述預(yù)設(shè)任務(wù)恢復(fù)運行狀態(tài),則恢復(fù)相應(yīng)所述計數(shù)器的計數(shù),否則,不恢復(fù)相應(yīng)所述計數(shù)器的計數(shù);
所述預(yù)設(shè)任務(wù)是指MCU正在運行的需要計數(shù)器進行運行計數(shù)的任務(wù)。
7.根據(jù)權(quán)利要求6所述用于診斷程序運行時間異常的方法,其特征在于,所述若預(yù)設(shè)任務(wù)恢復(fù)運行狀態(tài),則恢復(fù)相應(yīng)所述計數(shù)器的計數(shù),否則,不恢復(fù)相應(yīng)所述計數(shù)器的計數(shù)的步驟,包括:
在MCU執(zhí)行一高優(yōu)先級任務(wù)函數(shù)時,對嵌套值進行變化處理,其中,所述嵌套值為預(yù)設(shè)置的一用于表示嵌套層級的變量;所述變化處理規(guī)則為MCU執(zhí)行一高優(yōu)先級任務(wù)函數(shù)時進行嵌套值的增加,MCU執(zhí)行完一高優(yōu)先級任務(wù)函數(shù)時進行嵌套值的減少;
在MCU執(zhí)行完一高優(yōu)先級任務(wù)函數(shù)時,根據(jù)當前的所述嵌套值判斷是否存在高優(yōu)先級任務(wù)函數(shù)嵌套;
若當前的所述嵌套值大于預(yù)設(shè)值,則識別為存在高優(yōu)先級任務(wù)函數(shù)嵌套,所述預(yù)設(shè)任務(wù)未恢復(fù)運行狀態(tài),則不恢復(fù)相應(yīng)所述計數(shù)器的計數(shù)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于深圳市禾望電氣股份有限公司,未經(jīng)深圳市禾望電氣股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011531290.4/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





