[發(fā)明專利]嵌入式系統(tǒng)的調(diào)試方法有效
| 申請?zhí)枺?/td> | 200710033017.7 | 申請日: | 2007-12-27 |
| 公開(公告)號: | CN101216801A | 公開(公告)日: | 2008-07-09 |
| 發(fā)明(設(shè)計(jì))人: | 郭偉;張斌 | 申請(專利權(quán))人: | 東信和平智能卡股份有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 珠海智專專利商標(biāo)代理有限公司 | 代理人: | 張中;段淑華 |
| 地址: | 519060廣東省*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 嵌入式 系統(tǒng) 調(diào)試 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及一種嵌入式系統(tǒng)的調(diào)試方法,尤其是一種對開發(fā)語言分層的嵌入式系統(tǒng)的調(diào)試方法。
背景技術(shù)
隨著電子技術(shù)的發(fā)展,嵌入式系統(tǒng)已經(jīng)廣泛應(yīng)用在電子通信、自動(dòng)控制等領(lǐng)域。隨著嵌入式系統(tǒng)的發(fā)展,其運(yùn)算速度越來越快,存儲容量也越來越大,在嵌入式系統(tǒng)中運(yùn)行的程序也越來越龐大且更加復(fù)雜,程序運(yùn)行時(shí)出現(xiàn)錯(cuò)誤或缺陷幾乎是不可避免的。因此,嵌入式系統(tǒng)中運(yùn)行的程序編寫完畢后,需要進(jìn)行調(diào)試,以便發(fā)現(xiàn)并消除缺陷。
現(xiàn)有的部分嵌入式系統(tǒng)運(yùn)行的程序由兩種不同的語言開發(fā),如圖1所示。現(xiàn)有的嵌入式系統(tǒng)運(yùn)行的程序包括上層應(yīng)用文件24和下層基礎(chǔ)文件25,其中上層應(yīng)用文件24由高級語言,如Java語言編寫而成。用戶編寫上層應(yīng)用文件24后將其編譯,并下載到嵌入式系統(tǒng)中,此時(shí)上層應(yīng)用文件24以字節(jié)碼的形成存儲在嵌入式系統(tǒng)中。上層應(yīng)用文件24一條指令經(jīng)過編譯后,往往生成多個(gè)字節(jié)碼,而字節(jié)碼的長度不一定相同,且均有唯一的起止地址。
下層基礎(chǔ)文件25由能夠被編譯成機(jī)器指令的語言,如C語言編寫而成,其運(yùn)行速度較快。程序運(yùn)行時(shí),下層基礎(chǔ)文件25逐一解釋并執(zhí)行上層應(yīng)用文件24的字節(jié)碼。并且,下層基礎(chǔ)文件25有一虛擬的PC(Program?Counter,程序計(jì)數(shù)器)指針,該虛擬PC指針存儲有當(dāng)前執(zhí)行字節(jié)碼的地址,即指向當(dāng)前執(zhí)行的字節(jié)碼。
使用語言分層的技術(shù)開發(fā)嵌入式系統(tǒng),雖然給軟件開發(fā)帶來巨大的方便,但給程序的調(diào)試帶來麻煩。現(xiàn)有的調(diào)試系統(tǒng)只能對上層應(yīng)用文件或下層基礎(chǔ)文件進(jìn)行單獨(dú)調(diào)試,這樣被調(diào)試程序無法在最真實(shí)的環(huán)境下運(yùn)行,并且給下層基礎(chǔ)文件的調(diào)試帶來很大的不便。
發(fā)明內(nèi)容
本發(fā)明的主要目的是提供一種可同時(shí)對被調(diào)試程序的上層應(yīng)用文件和下層基礎(chǔ)文件調(diào)試的嵌入式系統(tǒng)調(diào)試方法。
為實(shí)現(xiàn)上述的主要目的,本發(fā)明提供的嵌入式系統(tǒng)調(diào)試方法應(yīng)用在一嵌入式系統(tǒng)調(diào)試系統(tǒng)中,該嵌入式系統(tǒng)與調(diào)試終端連接,該嵌入式系統(tǒng)包括調(diào)試模塊,用于接收調(diào)試終端發(fā)出的命令并對被調(diào)試程序進(jìn)行調(diào)試。調(diào)試終端包括用戶接口模塊、調(diào)試信息模塊及執(zhí)行調(diào)試命令的執(zhí)行模塊,該調(diào)試方法包括以下步驟:
步驟一:編寫被調(diào)試程序,該被調(diào)試程序包括上層應(yīng)用文件及下層基礎(chǔ)文件,并在下層基礎(chǔ)文件中添加默認(rèn)斷點(diǎn),將被調(diào)試程序編譯后下載到嵌入式系統(tǒng)中。其中,下層基礎(chǔ)文件由能夠被編譯成機(jī)器指令的語言,如C語言編寫而成,而上層應(yīng)用文件是由高級語言,如Java語言編寫而成,且編譯后以字節(jié)碼的形式存儲在嵌入式系統(tǒng)中。
步驟二:在嵌入式系統(tǒng)中運(yùn)行被調(diào)試程序,此時(shí)下層基礎(chǔ)文件將逐一解釋并執(zhí)行上層應(yīng)用文件編譯后生成的字節(jié)碼,當(dāng)被調(diào)試程序運(yùn)行至斷點(diǎn)時(shí)暫停運(yùn)行。
步驟三:調(diào)試終端查看和/或修改被調(diào)試程序的運(yùn)行信息,判斷是否需要在被調(diào)試程序的上層應(yīng)用文件中添加斷點(diǎn)。
若需要,由用戶接口模塊設(shè)置需要設(shè)定斷點(diǎn)的信息,如需要設(shè)置斷點(diǎn)的源文件名、斷點(diǎn)設(shè)置的行數(shù)等,并將該信息傳送到調(diào)試信息模塊及執(zhí)行模塊。調(diào)試信息模塊接收到該信息后,找出對應(yīng)字節(jié)碼的起始地址,并傳送至執(zhí)行模塊。執(zhí)行模塊接收到該地址后,設(shè)置條件斷點(diǎn)應(yīng)當(dāng)滿足的條件。其中,該條件斷點(diǎn)是設(shè)置在下層基礎(chǔ)文件中。
若不需要添加斷點(diǎn),則執(zhí)行下一步。
步驟四:調(diào)試模塊向被調(diào)試程序發(fā)送繼續(xù)運(yùn)行的命令,被調(diào)試程序繼續(xù)運(yùn)行。
步驟五:若被調(diào)試程序遇到條件斷點(diǎn),則返回執(zhí)行步驟二,否則,繼續(xù)運(yùn)行被調(diào)試程序,直至嵌入式系統(tǒng)斷電結(jié)束。
由于被調(diào)試程序在嵌入式系統(tǒng)中運(yùn)行時(shí),下層基礎(chǔ)文件是逐一解釋并執(zhí)行上層應(yīng)用文件編譯而成的字節(jié)碼,因此,當(dāng)下層基礎(chǔ)文件運(yùn)行時(shí)遇到條件斷點(diǎn)暫停運(yùn)行時(shí),上層應(yīng)用文件也無法運(yùn)行,即此時(shí)上層應(yīng)用文件及下層基礎(chǔ)文件均暫停運(yùn)行,調(diào)試人員即可方便的查看被調(diào)試程序的運(yùn)行狀況,并判斷被調(diào)試程序運(yùn)行是否出現(xiàn)問題,或者是否需要改變運(yùn)行環(huán)境等。這樣,調(diào)試人員即可同時(shí)對上層應(yīng)用文件和下層基礎(chǔ)文件同時(shí)進(jìn)行調(diào)試,使得被調(diào)試程序在最真實(shí)的運(yùn)行環(huán)境中運(yùn)行,有利于調(diào)試人員進(jìn)行調(diào)試工作。
附圖說明
圖1是現(xiàn)有嵌入式系統(tǒng)中被調(diào)試程序結(jié)構(gòu)的示意框圖;
圖2是要應(yīng)用本發(fā)明嵌入式系統(tǒng)調(diào)試方法的調(diào)試系統(tǒng)結(jié)構(gòu)示意框圖;
圖3是本發(fā)明嵌入式系統(tǒng)在線調(diào)試方法實(shí)施例的流程圖;
圖4是本發(fā)明嵌入式系統(tǒng)在線調(diào)試方法實(shí)施例中添加斷點(diǎn)的流程圖;
圖5是本發(fā)明嵌入式系統(tǒng)在線調(diào)試方法實(shí)施例中第一類單步運(yùn)行的流程圖;
圖6是本發(fā)明嵌入式系統(tǒng)在線調(diào)試方法實(shí)施例中第二類單步運(yùn)行的流程圖。
以下結(jié)合附圖及實(shí)施例對本發(fā)明作進(jìn)一步說明。
該專利技術(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/200710033017.7/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種片煙煙包松散回潮方法
- 下一篇:電壓反接保護(hù)電路
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測;錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過測試作故障硬件的檢測或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測試或調(diào)試防止錯(cuò)誤
- 調(diào)試系統(tǒng)、調(diào)試方法和調(diào)試控制方法
- 一種終端調(diào)試方法和裝置
- 設(shè)備自動(dòng)工程調(diào)試方法、裝置、系統(tǒng)和計(jì)算機(jī)設(shè)備
- 基于串口的遠(yuǎn)程設(shè)備調(diào)試系統(tǒng)及方法
- 一種安卓系統(tǒng)動(dòng)態(tài)調(diào)試的方法及系統(tǒng)
- 調(diào)試裝置和遠(yuǎn)程調(diào)試系統(tǒng)
- 一種調(diào)試方法、裝置及系統(tǒng)
- 一種應(yīng)用程序開發(fā)的調(diào)試系統(tǒng)及方法
- 樓宇設(shè)備的異地調(diào)試控制方法、裝置和計(jì)算機(jī)設(shè)備
- 一種芯片調(diào)試系統(tǒng)及芯片調(diào)試方法





