[發(fā)明專利]一種嵌入式系統(tǒng)交叉調(diào)試方法和裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201710039314.6 | 申請(qǐng)日: | 2017-01-19 |
| 公開(公告)號(hào): | CN106909480B | 公開(公告)日: | 2020-09-11 |
| 發(fā)明(設(shè)計(jì))人: | 黃鑫;吳躍前;薛云;王德明;朱衡德 | 申請(qǐng)(專利權(quán))人: | 華南師范大學(xué) |
| 主分類號(hào): | G06F11/22 | 分類號(hào): | G06F11/22;G06F8/65;G06F11/36 |
| 代理公司: | 廣州新諾專利商標(biāo)事務(wù)所有限公司 44100 | 代理人: | 劉菁菁 |
| 地址: | 510006 廣東省廣州市番*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 嵌入式 系統(tǒng) 交叉 調(diào)試 方法 裝置 | ||
本發(fā)明涉及一種嵌入式系統(tǒng)交叉調(diào)試方法,包括以下步驟:步驟S1:上電啟動(dòng),加載運(yùn)行操作系統(tǒng);步驟S2:判斷是否要更新程序,若是則進(jìn)入步驟S3,若否則進(jìn)入步驟S9;步驟S3:操作系統(tǒng)加載并運(yùn)行程序更新模塊;步驟S4:JTAG下載修改后的應(yīng)用程序到內(nèi)存;步驟S5:JTAG寫入程序信息到預(yù)定內(nèi)存;步驟S6:程序更新模塊根據(jù)程序信息將內(nèi)存的應(yīng)用程序?qū)懭胪獯婀碳^(qū);步驟S7:在固件區(qū)文件系統(tǒng)目錄項(xiàng)中添加一條指向應(yīng)用程序的記錄;步驟8:提示更新結(jié)束并重啟;步驟S9:進(jìn)入正常的應(yīng)用加載狀態(tài),從固件區(qū)文件系統(tǒng)目錄項(xiàng)的末尾往前檢索應(yīng)用對(duì)應(yīng)的最新目錄項(xiàng);步驟S10:通過最新目錄項(xiàng)加載應(yīng)用程序并運(yùn)行調(diào)試。本發(fā)明還提供一種用于實(shí)現(xiàn)上述方法的裝置。
技術(shù)領(lǐng)域
本發(fā)明涉及一種調(diào)試方法和裝置,特別是一種高效的嵌入式系統(tǒng)交叉調(diào)試方法和裝置。
背景技術(shù)
嵌入式系統(tǒng)交叉調(diào)試方法一般分為兩種,一種是基于JTAG的片上調(diào)試方法,一種是基于調(diào)試代理的遠(yuǎn)程調(diào)試方法。
請(qǐng)參閱圖1,其為基于JTAG的片上調(diào)試方法的連接框圖。JTAG是一種國際標(biāo)準(zhǔn)芯片測試協(xié)議,目前大多數(shù)CPU體系都支持JTAG。基于JTAG的片上調(diào)試方法最突出的代表就是JLink調(diào)試器,其定義了一個(gè)軟件調(diào)試層面的RDI接口標(biāo)準(zhǔn),然后JLink調(diào)試器將調(diào)試環(huán)境軟件(IAR、KEIL等)發(fā)出的RDI接口轉(zhuǎn)化為JTAG命令,對(duì)芯片進(jìn)行調(diào)試。該方法多適用于嵌入式系統(tǒng)底層驅(qū)動(dòng)調(diào)試、裸系統(tǒng)調(diào)試和單應(yīng)用調(diào)試。
請(qǐng)參閱圖2,其為基于調(diào)試代理的遠(yuǎn)程調(diào)試方法的連接框圖。基于調(diào)試代理的遠(yuǎn)程調(diào)試方法是在目標(biāo)機(jī)上運(yùn)行一個(gè)調(diào)試代理程序,與宿主機(jī)的調(diào)試器進(jìn)行通信交互,一起配合完成調(diào)試的任務(wù)。該方法主要使用軟件陷入來模擬斷點(diǎn)以接管CPU來完成調(diào)試,GDB遠(yuǎn)程調(diào)試是主要代表。一般地,基于調(diào)試代理的遠(yuǎn)程調(diào)試方法有兩種方式。一種是gdbserver,其能在目標(biāo)機(jī)的系統(tǒng)上獨(dú)立運(yùn)行,用于調(diào)試有操作系統(tǒng)的應(yīng)用程序;另一種是stub,其和嵌入式系統(tǒng)程序一起鏈接運(yùn)行,一般用于調(diào)試系統(tǒng)程序。其中,Gdbserver比較容易,但需要操作系統(tǒng)支持;stub調(diào)試比較難,需要針對(duì)具體的芯片體系進(jìn)行移植。兩者的工作原理是相似的,GDB調(diào)試基于串口協(xié)議或者TCP/IP協(xié)議。由于調(diào)試代理、串口驅(qū)動(dòng)或者TCP/IP驅(qū)動(dòng)需要占用大量的內(nèi)存空間,因此該方法一般用于內(nèi)存資源比較豐富的嵌入式系統(tǒng)的調(diào)試。
嵌入式系統(tǒng)一般分資源寬裕型系統(tǒng)和資源緊缺型系統(tǒng),前者CPU處理能力強(qiáng)、內(nèi)存資源豐富(一般在M字節(jié)級(jí)以上),如能支持Linux內(nèi)核運(yùn)行的嵌入式系統(tǒng),而其一般都是選用基于調(diào)試代理的遠(yuǎn)程調(diào)試方法來進(jìn)行開發(fā);而后者的CPU處理能力一般、內(nèi)存資源有限(一般在100K字節(jié)以下),多見于單片機(jī)控制器類成本敏感的消費(fèi)類電子系統(tǒng),系統(tǒng)程序難以和stub程序一起在內(nèi)存中運(yùn)行,因此難以選擇基于調(diào)試代理的遠(yuǎn)程調(diào)試方法來進(jìn)行開發(fā),而是選擇基于JTAG的片上調(diào)試方法或者直接串口打印的方式來進(jìn)行調(diào)試。但是,在資源緊缺型嵌入式系統(tǒng)上,針對(duì)帶操作系統(tǒng)(如基于UCOS內(nèi)核、FreeRTOS內(nèi)核)的應(yīng)用程序進(jìn)行調(diào)試,基于JTAG的片上調(diào)試方法也是難以勝任的。特別是對(duì)將應(yīng)用程序存入外存(這也是極大地節(jié)省內(nèi)存成本的常用手段),在需要運(yùn)行時(shí)才進(jìn)行加載的嵌入式系統(tǒng),基于JTAG的片上調(diào)試方法的效率是比較低的。例如以下場景:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華南師范大學(xué),未經(jīng)華南師范大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710039314.6/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種真空干燥緩沖設(shè)備
- 下一篇:一種羽絨烘干除靜電裝置
- 同類專利
- 專利分類
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)試方法





