專利名稱:一種系統(tǒng)復(fù)位方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種系統(tǒng)復(fù)位方法。
背景技術(shù):
現(xiàn)今,數(shù)碼娛樂產(chǎn)品成為現(xiàn)代青年人必備的配置之一,數(shù)碼娛樂產(chǎn)品性 能要求也是越來越高,消費者更傾向于如播放影片流暢,播放時間長,操作 簡便,音質(zhì)效果好的數(shù)碼娛樂產(chǎn)品。但是死機是每一個數(shù)碼娛樂產(chǎn)品都不可 避免的問題, 一般情況下當(dāng)這些產(chǎn)品死機后,廠家都會用硬件復(fù)位的方式來 復(fù)位,比如讓使用者用某種尖銳器件觸動復(fù)位鍵復(fù)位,這樣雖然解決了問題, 但是讓用戶覺得產(chǎn)品很粗糙而失去竟?fàn)幜ΑH绫绢I(lǐng)域普通技術(shù)人所知,系統(tǒng)在運行時若失控的程序進入"死循環(huán),, 或"跑飛",通常采用"看門狗,,技術(shù)使程序脫離"死循環(huán)",即通常所說的 系統(tǒng)復(fù)位。"看門狗"技術(shù)可由硬件實現(xiàn),也可由軟件實現(xiàn)。硬件"看門狗" 是利用一個定時器電路,其定時輸出連接到電路的復(fù)位端,程序在一定時間 范圍內(nèi)對定時器清零(俗稱"喂狗,,),因此程序正常工作時,定時器總不能溢出, 也就不能產(chǎn)生復(fù)位信號。如果程序出現(xiàn)故障,不在定時周期內(nèi)復(fù)位"看門狗", 就使得"看門狗"定時器溢出產(chǎn)生復(fù)位信號并重啟系統(tǒng)。軟件"看門狗"原 理上一樣,只是將硬件電路上的定時器用處理器的內(nèi)部定時器代替,這樣可 以簡化硬件電路設(shè)計,但在可靠性方面不如硬件定時器。"看門狗,,技術(shù)一般在工業(yè)上應(yīng)用的非常廣。但在數(shù)碼娛樂產(chǎn)品和一些 低端產(chǎn)品使用的非操作系統(tǒng)中用的卻很少,數(shù)碼娛樂產(chǎn)品中主要采用軟件復(fù) 位,但這種復(fù)位方式?jīng)]有當(dāng)"看門狗"用,因此非常容易造成"死機"。"看門狗"復(fù)位后, 一般是重頭開始運行原程序,而不是從復(fù)位時中斷 的進程某處繼續(xù)運行,給用戶造成了使用上的不便。發(fā)明內(nèi)容為解決上述現(xiàn)有技術(shù)的不足,本發(fā)明提供一種系統(tǒng)復(fù)位方法。
一種系統(tǒng)復(fù)位方法,包括步驟控制器在程序運行過程中設(shè)置復(fù)位點,賦予該復(fù)位點狀態(tài)值控制器判斷是否產(chǎn)生復(fù)位信號,如產(chǎn)生復(fù)位信號,則重新啟動或復(fù)位; 控制器檢測復(fù)位點狀態(tài)值是否存在,如存在,則讀取該復(fù)位點狀態(tài)值; 控制器根據(jù)狀態(tài)值的復(fù)位點位置繼續(xù)運行程序。若控制器檢測復(fù)位點狀態(tài)值不存在,則按正常流程運行程序。另外,所述復(fù)位點狀態(tài)值存儲在控制器內(nèi)部的存儲介質(zhì),或者是控制器外部的存儲單元存儲器中。本系統(tǒng)復(fù)位方法能夠記錄某一程序在系統(tǒng)重啟或復(fù)位前的某一位置,在 系統(tǒng)重啟或復(fù)位后從該位置繼續(xù)運行該程序,而無須從頭開始運行該程序, /人而方<更了用戶的4吏用。
圖1為本發(fā)明實施例的流程圖。本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進一步 說明。
具體實施方式
本領(lǐng)域普通技術(shù)人員所知,"看門狗"功能模塊是控制器即MCU的子模塊, 雖然現(xiàn)有數(shù)碼娛樂產(chǎn)品沒有"看門狗"功能模塊,但是這些產(chǎn)品的MCU肯定 有計時器,因此,可以利用計時器對模擬"看門狗,,功能模塊,實現(xiàn)系統(tǒng)復(fù) 位功能。數(shù)碼娛樂產(chǎn)品的控制器在運行主程序或某一進程時,對一個全局變量賦 值,即好比"看門狗"的"喂狗",控制器中的計時器開始計時,同時啟動中 斷函數(shù)對所述全局變量進行減1,即好比"看門狗"去消耗"食物,,;控制器 正常工作時,計時器不會溢出,也就不會產(chǎn)生復(fù)位信號;但如果中斷函數(shù)發(fā) 現(xiàn)該全局變量為"0",則控制器發(fā)出復(fù)位系統(tǒng)的指令,從而重新復(fù)位系統(tǒng)。
如圖1所示,控制器在運行過程中,根據(jù)技術(shù)應(yīng)用領(lǐng)域的需要設(shè)置復(fù)位 點,該復(fù)位點可以根據(jù)計時器的設(shè)定設(shè)置,如在測試領(lǐng)域,可以將測試過程的初始化、檢測階段l、檢測階段2,.......檢測階段n、測試階段l、測試階段2........測試階段n分別設(shè)置復(fù)位點,成者如在一種音樂播放器中,復(fù)位點可以設(shè)置在每首歌曲的開始(曲首)、結(jié)束(曲尾)以及每2分鐘處分別 設(shè)置復(fù)位點,并賦予該復(fù)位點的狀態(tài)值,同時將該復(fù)位點的狀態(tài)值存儲在存 儲器中,該存儲器可以是控制器內(nèi)部的存儲介質(zhì),如EPR0M、 EEPROM等非易 失性存儲器,或者是控制器外部的存儲單元,如Flash Memory、磁存儲介質(zhì) 等非易失性存儲器。另外,在不掉電的情況下,該狀態(tài)值還可以存儲在控制 器內(nèi)部或外部的RAM等易失性存儲器中。當(dāng)控制器因為某種原因使計時器溢出,或中斷函數(shù)發(fā)現(xiàn)全局變量為"0", 產(chǎn)生復(fù)位信號重新啟動系統(tǒng)或復(fù)位時,控制器首先檢測存儲器中是否有復(fù)位 點狀態(tài)值,如有復(fù)位點狀態(tài)值,則讀取復(fù)位點狀態(tài)值,并根據(jù)狀態(tài)值直接跳 至復(fù)位點的位置繼續(xù)運行程序,從而無須重新開始某一程序或進程;如控制 器沒有檢測存儲器中有復(fù)位點狀態(tài)值,則按照正常程序運行某一程序或進程。當(dāng)然,所述復(fù)位點狀態(tài)值可以為多個,也可為發(fā)生復(fù)位信號前的一個狀 態(tài)值,當(dāng)有多個復(fù)位點狀態(tài)值,用戶可以根據(jù)自身需要進行選擇,例如MP3 播放器,在某一歌曲播放中突然某種原因重新啟動或復(fù)位,由于復(fù)位點狀態(tài) 值的存在,用戶可選擇從某歌曲的中間某段繼續(xù)欣賞,而無須從頭開始所述程序是系統(tǒng)程序或應(yīng)用程序。本發(fā)明適應(yīng)于如手機、電子詞典、音樂播;故器、音視頻播放器、手持式 數(shù)據(jù)處理設(shè)備等產(chǎn)品領(lǐng)域中。以上所述僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍, 凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接 或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。
權(quán)利要求
1. 一種系統(tǒng)復(fù)位方法,其特征在于,包括步驟控制器在程序運行過程中設(shè)置復(fù)位點,賦予該復(fù)位點狀態(tài)值; 控制器判斷是否產(chǎn)生復(fù)位信號,如產(chǎn)生復(fù)位信號,則重新啟動或復(fù)位; 控制器檢測復(fù)位點狀態(tài)值是否存在,如存在,則讀取該復(fù)位點狀態(tài)值; 控制器根據(jù)狀態(tài)值的復(fù)位點位置繼續(xù)運行程序。
2. 如權(quán)利要求1所述的系統(tǒng)復(fù)位方法,其特征在于,還包括步驟 若控制器檢測復(fù)位點狀態(tài)值不存在,則按正常流程運行程序。
3. 如權(quán)利要求1或2所述的系統(tǒng)復(fù)位方法,其特征在于,所述復(fù)位點 狀態(tài)值存儲在存儲器中。
4. 如權(quán)利要求3所述的系統(tǒng)復(fù)位方法,其特征在于,所述存儲器是控 制器內(nèi)部的存儲介質(zhì),或者是控制器外部的存儲單元。
全文摘要
本發(fā)明提供一種系統(tǒng)復(fù)位方法,包括控制器在程序運行過程中設(shè)置復(fù)位點,賦予該復(fù)位點狀態(tài)值并存儲至存儲器中;控制器判斷是否產(chǎn)生復(fù)位信號,如產(chǎn)生復(fù)位信號,則重新啟動或復(fù)位;控制器檢測復(fù)位點狀態(tài)值是否存在,如存在,則讀取該復(fù)位點狀態(tài)值;控制器根據(jù)狀態(tài)值的復(fù)位點位置繼續(xù)運行程序。本系統(tǒng)復(fù)位方法能夠記錄某一程序在系統(tǒng)重啟或復(fù)位前的某一位置,在系統(tǒng)重啟或復(fù)位后從該位置繼續(xù)運行該程序,而無須從頭開始運行該程序,從而方便了用戶的使用。
文檔編號G06F11/14GK101122875SQ20061011212
公開日2008年2月13日 申請日期2006年8月11日 優(yōu)先權(quán)日2006年8月11日
發(fā)明者萬紅波 申請人:深圳市朗科科技有限公司