欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種嵌入式設(shè)備的程序代碼段自檢方法及裝置與流程

文檔序號(hào):12747930閱讀:530來(lái)源:國(guó)知局
一種嵌入式設(shè)備的程序代碼段自檢方法及裝置與流程

本發(fā)明屬于嵌入式系統(tǒng)應(yīng)用技術(shù)領(lǐng)域,具體涉及一種嵌入式設(shè)備的程序代碼段自檢方法及裝置。



背景技術(shù):

嵌入式設(shè)備的可靠性和實(shí)時(shí)性一般要求都很高,任何情況下都要保證設(shè)備的可靠動(dòng)作,提高設(shè)備的可靠性和實(shí)時(shí)性是嵌入式產(chǎn)品設(shè)計(jì)的重點(diǎn)工作。由于一些不可預(yù)測(cè)的因素或者是沒(méi)有發(fā)現(xiàn)的潛在危險(xiǎn)導(dǎo)致程序代碼段異常,可能導(dǎo)致設(shè)備產(chǎn)生不可預(yù)知的危險(xiǎn),在這種情況下很難保證設(shè)備動(dòng)作的可靠性,甚至?xí)?duì)系統(tǒng)造成嚴(yán)重的后果。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的是提供一種嵌入式設(shè)備的程序代碼段自檢方法,用以解決嵌入式設(shè)備程序代碼段運(yùn)行時(shí)出錯(cuò)的問(wèn)題。

為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種嵌入式設(shè)備的程序代碼段自檢方法,步驟包括:

1)解析目標(biāo)文件,獲取記錄程序代碼區(qū)的內(nèi)存定位信息、代碼區(qū)長(zhǎng)度,并將整個(gè)程序代碼在內(nèi)存中的備份區(qū)進(jìn)行備份;

2)程序運(yùn)行時(shí),實(shí)時(shí)比較檢測(cè)程序運(yùn)行區(qū)和備份區(qū)數(shù)據(jù);

3)處理比較結(jié)果,若一致,則數(shù)據(jù)正常;若不一致,則數(shù)據(jù)異常,并告警。

進(jìn)一步地,還包括實(shí)時(shí)檢測(cè)并判定CPU負(fù)荷情況,用于設(shè)定程序代碼段自檢任務(wù)門(mén)檻值的步驟,所述門(mén)檻值包括監(jiān)測(cè)時(shí)間間隔和數(shù)據(jù)自檢粒度;CPU負(fù)荷增大時(shí),減小數(shù)據(jù)自檢粒度和/或增大監(jiān)測(cè)時(shí)間間隔;CPU負(fù)荷減小時(shí),增大數(shù)據(jù)自檢粒度和/或減小監(jiān)測(cè)時(shí)間間隔。

進(jìn)一步地,設(shè)定門(mén)檻值時(shí),將CPU負(fù)荷的變化分為若干個(gè)范圍,每個(gè)范圍對(duì)應(yīng)一個(gè)門(mén)檻值。

進(jìn)一步地,還包括數(shù)據(jù)異常時(shí),將異常情況寫(xiě)入報(bào)告的步驟。

本發(fā)明還提供一種嵌入式設(shè)備的程序代碼段自檢裝置,包括如下模塊:用于解析目標(biāo)文件,獲取記錄程序代碼區(qū)的內(nèi)存定位信息、代碼區(qū)長(zhǎng)度,并將整個(gè)程序代碼在內(nèi)存中的備份區(qū)進(jìn)行備份的模塊;用于程序運(yùn)行時(shí),實(shí)時(shí)比較檢測(cè)程序運(yùn)行區(qū)和備份區(qū)數(shù)據(jù)的模塊;用于處理比較結(jié)果,若一致,則數(shù)據(jù)正常;若不一致,則數(shù)據(jù)異常,并告警的模塊。

進(jìn)一步地,還包括用于實(shí)時(shí)檢測(cè)并判定CPU負(fù)荷情況,用于設(shè)定程序代碼段自檢任務(wù)門(mén)檻值的模塊,所述門(mén)檻值包括監(jiān)測(cè)時(shí)間間隔和數(shù)據(jù)自檢粒度;CPU負(fù)荷增大時(shí),減小數(shù)據(jù)自檢粒度和/或增大檢測(cè)時(shí)間間隔;CPU負(fù)荷減小時(shí),增大數(shù)據(jù)自檢粒度和/或減小監(jiān)測(cè)時(shí)間間隔。

進(jìn)一步地,設(shè)定門(mén)檻值時(shí),將CPU負(fù)荷變化分為若干個(gè)范圍,每個(gè)范圍對(duì)應(yīng)一個(gè)門(mén)檻值。

進(jìn)一步地,還包括用于數(shù)據(jù)異常時(shí),將異常情況寫(xiě)入報(bào)告的模塊。

本發(fā)明的有益效果是:在解析目標(biāo)文件時(shí)將程序代碼區(qū)在制定的內(nèi)存做備份,在設(shè)備運(yùn)行時(shí)實(shí)時(shí)比較檢測(cè)程序運(yùn)行區(qū)和備份數(shù)據(jù)。加入的程序代碼段自檢功能,使設(shè)備能夠在運(yùn)行過(guò)程中實(shí)時(shí)檢測(cè)程序代碼段,并及時(shí)發(fā)現(xiàn)異常情況,一旦發(fā)現(xiàn)異常,設(shè)備會(huì)將異常情況記錄并告警;幫助現(xiàn)場(chǎng)工作人員盡快的定位并解決問(wèn)題,保證了設(shè)備運(yùn)行的安全性和可靠性,避免問(wèn)題的擴(kuò)大而造成不可挽回的損失。

附圖說(shuō)明

圖1是程序代碼段自檢任務(wù)流程圖;

圖2是CPU占用率檢測(cè)任務(wù)流程圖。

具體實(shí)施方式

下面結(jié)合附圖說(shuō)明,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。

本發(fā)明提供一種嵌入式設(shè)備的程序代碼段自檢方法,具體實(shí)施步驟如圖1所示。

首先,初始化需要解析的目標(biāo)文件和自檢任務(wù)門(mén)檻的默認(rèn)值。解析目標(biāo)文件得到程序代碼段的地址和大小,并將程序代碼段的數(shù)據(jù)復(fù)制到一個(gè)指定的內(nèi)存位置,作為備份代碼區(qū)。自定義自檢任務(wù)門(mén)檻的默認(rèn)值,包括監(jiān)測(cè)時(shí)間間隔和數(shù)據(jù)自檢粒度。在此實(shí)施例中,監(jiān)測(cè)時(shí)間間隔默認(rèn)值設(shè)置為10ms,數(shù)據(jù)自檢粒度默認(rèn)值設(shè)置為128字節(jié)。

然后,進(jìn)行程序代碼段檢測(cè)任務(wù)。設(shè)備運(yùn)行時(shí),實(shí)時(shí)比較程序運(yùn)行區(qū)代碼段和備份區(qū)代碼段的128字節(jié)的二進(jìn)制數(shù)據(jù),實(shí)現(xiàn)對(duì)代碼段的檢測(cè)。沒(méi)有異常就檢測(cè)下一128字節(jié)的數(shù)據(jù),如果發(fā)現(xiàn)異常則告警并將異常情況寫(xiě)入報(bào)告,使現(xiàn)場(chǎng)人員及時(shí)發(fā)現(xiàn)異常,并方便技術(shù)人員準(zhǔn)確定位異常并改正錯(cuò)誤。

其中,在設(shè)備運(yùn)行時(shí),代碼段自檢任務(wù)會(huì)根據(jù)CPU的負(fù)荷情況來(lái)設(shè)定代碼段自檢的門(mén)檻值,門(mén)檻值包括監(jiān)測(cè)時(shí)間間隔和數(shù)據(jù)自檢粒度,做到在不影響設(shè)備性能的情況下保證設(shè)備運(yùn)行的安全性和可靠性。具體CPU占用率檢測(cè)任務(wù)方法如圖2所示。

在初始化階段,記錄一段固定延時(shí)的時(shí)間間隔,此時(shí)其他任務(wù)都沒(méi)有開(kāi)始運(yùn)行,可獲取一個(gè)比較精確的標(biāo)準(zhǔn)參照時(shí)間間隔。該任務(wù)運(yùn)行期間,記錄一段固定延時(shí)的時(shí)間間隔(和該任務(wù)初始化時(shí)的間隔一樣),設(shè)備運(yùn)行期間,該任務(wù)的優(yōu)先級(jí)最低,只要有其他任務(wù)運(yùn)行,該任務(wù)就會(huì)被打斷去執(zhí)行其他任務(wù),直到其他任務(wù)都執(zhí)行完畢并處于掛起狀態(tài),該任務(wù)才會(huì)被繼續(xù)執(zhí)行。CPU任務(wù)越多,執(zhí)行越頻繁,實(shí)際統(tǒng)計(jì)的時(shí)間間隔就越長(zhǎng)。將標(biāo)準(zhǔn)參照時(shí)間間隔和該時(shí)間間隔比較就能夠得到CPU的占有率,知道CPU的負(fù)荷大小。

當(dāng)CPU負(fù)荷比較大時(shí),當(dāng)前CPU任務(wù)比較繁重,調(diào)用更改程序代碼段自檢任務(wù)門(mén)檻的接口,將程序代碼段自檢任務(wù)的數(shù)據(jù)自檢粒度減小或者監(jiān)測(cè)時(shí)間間隔增大,或者同時(shí)減小數(shù)據(jù)自檢粒度和增大監(jiān)測(cè)時(shí)間間隔,通過(guò)此方法來(lái)降低自檢速度,使得程序代碼段任務(wù)盡量小的減少對(duì)CPU的消耗。

當(dāng)CPU負(fù)荷比較小時(shí),當(dāng)前CPU任務(wù)比較輕松,調(diào)用更改程序代碼段自檢任務(wù)門(mén)檻的接口,將程序代碼段自檢任務(wù)的數(shù)據(jù)自檢粒度增大或者監(jiān)測(cè)時(shí)間間隔減小,或者同時(shí)增大數(shù)據(jù)自檢粒度和減小監(jiān)測(cè)時(shí)間間隔,通過(guò)此方法來(lái)提高自檢速度。

可具體設(shè)置為:當(dāng)CPU占有率小于30%時(shí)候,CPU自檢任務(wù)調(diào)用更改程序代碼段自檢任務(wù)門(mén)檻的接口,將程序代碼段自檢任務(wù)的監(jiān)測(cè)時(shí)間間隔改為2ms、數(shù)據(jù)自檢粒度改為256字節(jié);當(dāng)CPU占有率在30%~60%之間的時(shí)候,將門(mén)檻都恢復(fù)默認(rèn)值;當(dāng)CPU占有率大于60%時(shí)候,CPU自檢任務(wù)調(diào)用更改程序代碼段自檢任務(wù)門(mén)檻的接口,將程序代碼段自檢任務(wù)監(jiān)測(cè)時(shí)間間隔改為20ms、數(shù)據(jù)自檢粒度改為64字節(jié)。

在上述實(shí)施例中,將CPU負(fù)荷情況分為三個(gè)范圍,即30%以下、30%~60%之間、60%以上,每一個(gè)范圍對(duì)應(yīng)一個(gè)門(mén)檻值,即30%以下門(mén)檻值為監(jiān)測(cè)時(shí)間間隔2ms、數(shù)據(jù)自檢粒度256字節(jié);30%~60%之間門(mén)檻值為監(jiān)測(cè)時(shí)間間隔10ms、數(shù)據(jù)自檢粒度128字節(jié);60%以上為監(jiān)測(cè)時(shí)間間隔20ms、數(shù)據(jù)自檢粒度64字節(jié)。作為其他實(shí)施方式,可根據(jù)實(shí)際情況,將CPU負(fù)荷情況進(jìn)一步細(xì)分成更多的范圍,對(duì)應(yīng)更多的門(mén)檻值,甚至是每個(gè)CPU負(fù)荷值對(duì)應(yīng)一個(gè)門(mén)檻值,此時(shí)可以通過(guò)直接計(jì)算或者查表來(lái)確定門(mén)檻值。

本發(fā)明還提供一種嵌入式設(shè)備的程序代碼段自檢裝置,包括如下模塊:用于解析目標(biāo)文件,獲取記錄程序代碼區(qū)的內(nèi)存定位信息、代碼區(qū)長(zhǎng)度,并將整個(gè)程序代碼在內(nèi)存中的備份區(qū)進(jìn)行備份的模塊;用于程序運(yùn)行時(shí),實(shí)時(shí)比較檢測(cè)程序運(yùn)行區(qū)和備份區(qū)數(shù)據(jù)的模塊;用于處理比較結(jié)果,若一致,則數(shù)據(jù)正常;若不一致,則數(shù)據(jù)異常,并告警的模塊。

上述嵌入式設(shè)備的程序代碼段自檢裝置,實(shí)際上是基于本發(fā)明方法流程的一種計(jì)算機(jī)解決方案,即一種軟件構(gòu)架,上述各種模塊即為與方法流程相對(duì)應(yīng)的各處理進(jìn)程或程序。由于對(duì)上述方法的介紹已經(jīng)足夠清楚完整,故對(duì)該裝置不再進(jìn)行詳細(xì)描述。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
准格尔旗| 蕉岭县| 霞浦县| 荣昌县| 永定县| 当涂县| 瑞安市| 土默特右旗| 岫岩| 高台县| 塘沽区| 庄河市| 安庆市| 武汉市| 哈密市| 鄂温| 乡宁县| 玛曲县| 梧州市| 曲水县| 阳东县| 偏关县| 开封市| 铜陵市| 定南县| 正安县| 涞水县| 蚌埠市| 巴东县| 陈巴尔虎旗| 健康| 大安市| 余干县| 内丘县| 大渡口区| 独山县| 江川县| 敦煌市| 历史| 于都县| 麟游县|