專利名稱:一種嵌入式系統(tǒng)的調(diào)試信息處理方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及嵌入式系統(tǒng)測試領(lǐng)域,特別是涉及一種嵌入式系統(tǒng)的調(diào)試信息處理方法和系統(tǒng)。
背景技術(shù):
嵌入式系統(tǒng)開發(fā)過程實(shí)際上就是一個調(diào)試的過程,而且調(diào)試將一直伴隨著一個產(chǎn)品的終身,即使是最成熟的產(chǎn)品也偶爾會出現(xiàn)這樣或那樣的問題,這都需要去診斷、排查。 調(diào)試包括硬件調(diào)試和軟件調(diào)試,其中軟件調(diào)試用來驗(yàn)證程序執(zhí)行的時序是否正確,邏輯和結(jié)果是否與設(shè)計(jì)要求相符,能否滿足功能和性能要求等。目前軟件調(diào)試中較普遍的調(diào)試方式是用串口(UART)打印調(diào)試,通過串口將程序中的調(diào)試信息輸出到電腦(PC),達(dá)到檢測程序運(yùn)行情況的目的。但串口上的數(shù)據(jù)傳輸都是有速度限制的,一般不超過115200比特每秒,而系統(tǒng)在串口發(fā)送數(shù)據(jù)時會占用系統(tǒng)處理器(CPU),并且,如果串口數(shù)據(jù)傳輸模式是使用中斷方式進(jìn)行,那么在傳輸數(shù)據(jù)時產(chǎn)生的中斷就有可能會干擾系統(tǒng)的運(yùn)行,導(dǎo)致系統(tǒng)性能下降或有故障發(fā)生,所以這種調(diào)試方式會因?yàn)榇诋a(chǎn)生的中斷或速度問題,不適宜在某些對運(yùn)行要求高,運(yùn)行時外部干擾少的程序片段調(diào)試情況,并且,當(dāng)系統(tǒng)崩潰時也無法掌握和死機(jī)故障點(diǎn)最接近的有效調(diào)試信息。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提出了一種嵌入式系統(tǒng)的調(diào)試信息處理方法和系統(tǒng)。本發(fā)明提出的嵌入式系統(tǒng)的調(diào)試信息處理系統(tǒng)包括處理器單元,用于運(yùn)行調(diào)試程序,并將產(chǎn)生的調(diào)試信息記錄在專用存儲單元內(nèi),還用于當(dāng)需要時將專用存儲單元內(nèi)的調(diào)試信息傳輸?shù)酱?;專用存儲單元,用于記錄調(diào)試信息;故障監(jiān)測單元,用于監(jiān)測系統(tǒng)的故障,并將故障信號傳輸至故障處理單元;故障處理單元,用于接收故障信號并將專用存儲單元中存儲的調(diào)試信息輸出到串口后通過串口外接設(shè)備顯示出來。本發(fā)明還提出一種嵌入式系統(tǒng)的調(diào)試信息處理方法,包括下列步驟a處理器運(yùn)行調(diào)試程序時將調(diào)試信息記錄在專用存儲單元內(nèi);b故障發(fā)生后,系統(tǒng)將記錄在專用存儲單元內(nèi)的調(diào)試信息輸出到串口,在串口外接設(shè)備上顯示出來。本發(fā)明于系統(tǒng)正常運(yùn)行時只需將調(diào)試信息寫入到專用存儲單元內(nèi),這種調(diào)試信息的輸出系統(tǒng)和方法對時間的開銷是納秒級的,并且調(diào)試信息的輸出對調(diào)試程序片段的干擾也很小,為寫入特定串口中的少數(shù)字節(jié),在調(diào)試信息寫入到專用存儲單元內(nèi)時不會產(chǎn)生中斷來干擾系統(tǒng);而且,解決了系統(tǒng)死機(jī)時無法掌握和死機(jī)故障點(diǎn)最接近的有效調(diào)試信息的問題。
下面結(jié)合具體實(shí)施例和附圖對本發(fā)明進(jìn)行詳細(xì)的說明,其中圖1為嵌入式系統(tǒng)的調(diào)試信息處理系統(tǒng)的功能模塊圖;圖2為嵌入式系統(tǒng)的調(diào)試信息處理系統(tǒng)在幾個階段中對調(diào)試信息的處理流程圖。
具體實(shí)施例方式本實(shí)施方式提出了一種嵌入式系統(tǒng)的調(diào)試信息處理系統(tǒng)和方法,其對調(diào)試程序的干擾很小,在調(diào)試信息寫入到專用存儲單元內(nèi)時不會產(chǎn)生中斷來干擾系統(tǒng)的正常運(yùn)行,并且在系統(tǒng)死機(jī)時能掌握和死機(jī)故障點(diǎn)最接近的有效調(diào)試信息。如圖1所示,本發(fā)明提出的嵌入式系統(tǒng)的調(diào)試信息處理系統(tǒng)包括處理器單元 105、專用存儲單元107、故障監(jiān)測單元101和故障處理單元103。處理器單元105,用于運(yùn)行調(diào)試程序,并將產(chǎn)生的調(diào)試信息依據(jù)先進(jìn)先出(FIFO) 的原則記錄在專用存儲單元107內(nèi),還用于當(dāng)需要時將專用存儲單元107內(nèi)的調(diào)試信息傳輸?shù)酱?108。專用存儲單元107,為系統(tǒng)內(nèi)存中專門劃分出來的獨(dú)立單元,用于記錄調(diào)試信息。一般系統(tǒng)中,處理器外接的物理內(nèi)存全部作為操作系統(tǒng)控制的系統(tǒng)內(nèi)存,存儲記錄信息的內(nèi)存通常是使用程序從系統(tǒng)內(nèi)存中動態(tài)分配,這樣,信息記錄使用的內(nèi)存地址不固定、與其它應(yīng)用程序使用內(nèi)存混在一起,在系統(tǒng)出故障或崩潰時容易被操作系統(tǒng)或其他的應(yīng)用程序毀壞;并且,一旦系統(tǒng)重新啟動,系統(tǒng)內(nèi)存中的內(nèi)容將可能被操作系統(tǒng)清空或覆蓋。在本發(fā)明中,將處理器外接的物理內(nèi)存不全部作為系統(tǒng)內(nèi)存使用,而是劃出一部分內(nèi)存專門用來存儲記錄調(diào)試信息,這部分內(nèi)存不會被其他應(yīng)用程序覆蓋,因此,當(dāng)系統(tǒng)故障發(fā)生時或當(dāng)系統(tǒng)死機(jī)操作系統(tǒng)重新啟動后,也不會覆蓋或清空此內(nèi)存,能夠安全保存上次系統(tǒng)死機(jī)時記錄的信息。故障監(jiān)測單元101,用于監(jiān)測系統(tǒng)產(chǎn)生的故障,并將故障信號傳輸至故障處理單元 103。故障處理單元103,用于接收故障信號,并將專用存儲單元107中存儲的調(diào)試信息輸出到串口 108后通過串口外接設(shè)備109顯示出來。如圖2所示,本發(fā)明提出的嵌入式系統(tǒng)調(diào)試信息處理方法包括如下步驟a系統(tǒng)正常運(yùn)行時,處理器單元105運(yùn)行調(diào)試程序,依據(jù)系統(tǒng)產(chǎn)生的出錯信號,將其描述后作為調(diào)試信息并依據(jù)FIFO的原則循環(huán)的記錄在專用存儲單元107中;b系統(tǒng)故障(如跟蹤故障)出現(xiàn)時,故障監(jiān)測單元101監(jiān)測到系統(tǒng)的故障,,并將故障信號傳輸至故障處理單元103。故障處理單元103接收故障信號后,可通過機(jī)械按鍵或者拉高特定IO電平產(chǎn)生非屏蔽異常(中斷)通知系統(tǒng)將專用存儲單元107中的調(diào)試信息通過串口 108輸出到串口外接設(shè)備109中;c系統(tǒng)崩潰時,故障監(jiān)測單元101監(jiān)測到系統(tǒng)崩潰的故障,并將故障信號傳輸至故障處理單元103,故障處理單元103接收故障信號后,即時記錄崩潰時調(diào)試信息,并保存在專用存儲單元107中;
d系統(tǒng)重啟時,引導(dǎo)程序在啟動時判斷系統(tǒng)啟動模式,如果是熱啟動則檢查專用存儲單元107調(diào)試信息的有效性,如果有效就將專用存儲單元107內(nèi)的調(diào)試信息通過串口 108 輸出到串口外接設(shè)備109上。所述串口外接設(shè)備109可為電腦或LED顯示裝置。使用本發(fā)明提出的嵌入式系統(tǒng)的調(diào)試信息的輸出系統(tǒng)和方法后,系統(tǒng)正常運(yùn)行時只需將調(diào)試信息寫入到專用存儲單元107內(nèi),這種調(diào)試信息的輸出系統(tǒng)和方法對時間的開銷是納秒級的,并且調(diào)試信息的輸出對調(diào)試程序片段的干擾也很小,為寫入特定串口 108 中的少數(shù)字節(jié),在調(diào)試信息寫入到專用存儲單元內(nèi)時不會產(chǎn)生中斷來干擾系統(tǒng);而且,解決了系統(tǒng)死機(jī)時無法掌握和死機(jī)故障點(diǎn)最接近的有效調(diào)試信息的問題。
權(quán)利要求
1.一種嵌入式系統(tǒng)的調(diào)試信息處理系統(tǒng),其特征在于包括處理器單元,用于運(yùn)行調(diào)試程序,并將產(chǎn)生的調(diào)試信息記錄在專用存儲單元內(nèi),還用于當(dāng)需要時將專用存儲單元內(nèi)的調(diào)試信息傳輸?shù)酱?;專用存儲單元,用于記錄調(diào)試信息;故障監(jiān)測單元,用于監(jiān)測系統(tǒng)的故障,并將故障信號傳輸至故障處理單元;故障處理單元,用于接收故障信號并將專用存儲單元中存儲的調(diào)試信息輸出到串口后通過串口外接設(shè)備顯示出來。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于所述專用存儲單元為系統(tǒng)內(nèi)存中劃分出來的獨(dú)立單元。
3.如權(quán)利要求1所述的系統(tǒng),其特征在于所述的調(diào)試信息依據(jù)先進(jìn)先出的原則記錄在專用存儲單元內(nèi)。
4.如權(quán)利要求1所述的系統(tǒng),其特征在于所述的外接設(shè)備為電腦或LED顯示器。
5.一種嵌入式系統(tǒng)的調(diào)試信息處理方法,其特征在于包括下列步驟a處理器運(yùn)行調(diào)試程序時將調(diào)試信息記錄在專用存儲單元內(nèi);b故障發(fā)生后,系統(tǒng)將記錄在專用存儲單元內(nèi)的調(diào)試信息輸出到串口,在串口外接設(shè)備上將調(diào)試信息顯示出來。
6.如權(quán)利要求5所述的方法,其特征在于還包括下列步驟c故障監(jiān)測單元監(jiān)測到系統(tǒng)崩潰的故障后,將故障信號傳輸至故障處理單元,故障處理單元及時記錄崩潰時調(diào)試信息,并保存在專用存儲單元107中。
7.如權(quán)利要求5所述的方法,其特征在于還包括下列步驟d系統(tǒng)重啟時,故障處理單元的引導(dǎo)程序在啟動時判斷系統(tǒng)啟動模式,如果是熱啟動則檢查專用存儲單元調(diào)試信息的有效性,如果有效就將專用存儲單元內(nèi)的調(diào)試信息通過串口輸出到串口外接設(shè)備上。
全文摘要
本發(fā)明公開了一種嵌入式系統(tǒng)的調(diào)試信息處理方法,包括下列步驟a.處理器運(yùn)行調(diào)試程序時將調(diào)試信息記錄在專用存儲單元內(nèi);b.故障發(fā)生后,系統(tǒng)將記錄在專用存儲單元內(nèi)的調(diào)試信息輸出到串口,在串口外接設(shè)備上將調(diào)試信息顯示出來。本發(fā)明還提出了一種嵌入式系統(tǒng)的調(diào)試信息處理系統(tǒng)。本發(fā)明于系統(tǒng)正常運(yùn)行時只需將調(diào)試信息寫入到專用存儲單元內(nèi),這種調(diào)試信息的輸出系統(tǒng)和方法對時間的開銷是納秒級的,并且調(diào)試信息的輸出對調(diào)試程序片段的干擾也很小,為寫入特定串口中的少數(shù)字節(jié),在調(diào)試信息寫入到專用存儲單元內(nèi)時不會產(chǎn)生中斷來干擾系統(tǒng);而且,解決了系統(tǒng)死機(jī)時無法掌握和死機(jī)故障點(diǎn)最接近的有效調(diào)試信息的問題。
文檔編號G06F11/22GK102262583SQ20101018689
公開日2011年11月30日 申請日期2010年5月28日 優(yōu)先權(quán)日2010年5月28日
發(fā)明者羅民 申請人:康佳集團(tuán)股份有限公司