[發(fā)明專利]電路板固件命令行調(diào)試(測(cè)試)工具無(wú)效
| 申請(qǐng)?zhí)枺?/td> | 201110307097.7 | 申請(qǐng)日: | 2011-10-12 |
| 公開(kāi)(公告)號(hào): | CN102402480A | 公開(kāi)(公告)日: | 2012-04-04 |
| 發(fā)明(設(shè)計(jì))人: | 吳華中 | 申請(qǐng)(專利權(quán))人: | 吳華中 |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36 |
| 代理公司: | 暫無(wú)信息 | 代理人: | 暫無(wú)信息 |
| 地址: | 100041 北京市石景*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 電路板 命令行 調(diào)試 測(cè)試 工具 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及用于對(duì)電路板固件的調(diào)試,跟蹤以及測(cè)試。并且,電路板及其固件正式發(fā)布以后,通過(guò)本發(fā)明的實(shí)施例,仍然可使電路板固件程序從任意指定的起始地址開(kāi)始執(zhí)行。例如,通過(guò)本發(fā)明,可直接指定固件源代碼(C/C++)的函數(shù)或者全局變量作為命令執(zhí)行。
背景技術(shù)
通常,電路板固件工程師在固件研發(fā)過(guò)程中,最常用的調(diào)試工具就是調(diào)試仿真器(ICE)。盡管調(diào)試仿真器(ICE)的調(diào)試功能強(qiáng)大,但是,它存在以下局限:
固件的目標(biāo)程序在編譯時(shí),必須編譯鏈接debug信息
固件必須通過(guò)調(diào)試仿真器(ICE)連接啟動(dòng)。
調(diào)試仿真器(ICE)設(shè)備以及配套的調(diào)試軟件價(jià)格昂貴。
正是因?yàn)橐陨暇窒蓿偌由希邪l(fā)人員在做固件研發(fā)時(shí),通常并不是每次都需要進(jìn)行單步調(diào)試,而更多的是做單元測(cè)試,即,編碼過(guò)程中,使剛剛完成的子函數(shù)或者子程序在一個(gè)足夠簡(jiǎn)單的環(huán)境里運(yùn)行,以檢查執(zhí)行結(jié)果與研發(fā)人員的預(yù)期是否一致。
本發(fā)明所提供的方案就是在電路板固件中,能夠提供這樣一個(gè)簡(jiǎn)單的環(huán)境,并且使這個(gè)簡(jiǎn)單的運(yùn)行環(huán)境實(shí)現(xiàn)成一個(gè)通用的環(huán)境:操作人員可以通過(guò)“上位機(jī)命令行”程序執(zhí)行任意的固件函數(shù)、子程序、或者全局變量以檢測(cè)其實(shí)現(xiàn)的結(jié)果。
電路板固件完成最終發(fā)布以后,仍然可通過(guò)本發(fā)明所提供的方案,以及固件內(nèi)部本身提供的各種應(yīng)用程序接口,查看固件內(nèi)部各進(jìn)程,線程,內(nèi)存,設(shè)備,等信息。
雖然美國(guó)風(fēng)河公司(WindRiver)的Tornado產(chǎn)品也具備上述功能特征,但是Tornado產(chǎn)品僅能用于風(fēng)河公司(WindRiver)自己的嵌入式操作系統(tǒng)VxWorks。
對(duì)于本發(fā)明,發(fā)明人所公開(kāi)的技術(shù)方案是將該功能特征應(yīng)用于所有的嵌入式操作系統(tǒng),包括Linux、ThreadX、等,當(dāng)然也包括風(fēng)河公司(WindRiver)的VxWorks。
發(fā)明內(nèi)容
本發(fā)明的目的在于,實(shí)現(xiàn)一種方法,使電路板固件(或者軟件)研發(fā)人員,測(cè)試人員,或者電路板產(chǎn)品的最終用戶能夠通過(guò)所輸入的命令,實(shí)現(xiàn)固件(或者軟件)從指定的代碼地址(通常為C/C++函數(shù)指針)開(kāi)始執(zhí)行,然后通過(guò)輸出的調(diào)試日志信息了解當(dāng)前電路板硬件,固件,進(jìn)程,內(nèi)存,堆棧等信息狀態(tài)。例如,假設(shè)某一款手機(jī)電路板系統(tǒng)中使用了本發(fā)明的實(shí)施例,那么手機(jī)使用者則可以通過(guò)本發(fā)明實(shí)施例的“上位機(jī)命令行”程序通過(guò)USB或者WIFI通信接口與之連接,查詢手機(jī)當(dāng)前進(jìn)程的運(yùn)行狀況,內(nèi)存使用情況,等等。
為了實(shí)現(xiàn)這種目的,本發(fā)明在目標(biāo)電路板固件中增加一個(gè)模塊,在此,發(fā)明人將該模塊命名為“電路板調(diào)試模塊”。同時(shí),安排“上位機(jī)命令行”程序與“電路板調(diào)試模塊”通過(guò)USB,網(wǎng)絡(luò)等通信接口連接。
“上位機(jī)命令行”程序?yàn)閼?yīng)用程序,通常運(yùn)行在PC機(jī)上,或者筆記本電腦上,或者其他電腦設(shè)備上,比如平板電腦。“上位機(jī)命令行”程序通過(guò)通信接口接收目標(biāo)電路板產(chǎn)生的調(diào)試日志信息,并輸出到顯示屏上。“上位機(jī)命令行”程序負(fù)責(zé)將操作人員所輸入的命令傳送至目標(biāo)電路板的“電路板調(diào)試模塊”。如果對(duì)“上位機(jī)命令行”程序指定目標(biāo)電路板的“固件代碼標(biāo)識(shí)映射表”數(shù)據(jù),操作人員可將固件源代碼(C/C++)中任意函數(shù)名或者全局變量名作為輸入命令,“電路板調(diào)試模塊”將執(zhí)行該函數(shù)或者輸出全局變量的數(shù)值,函數(shù)的執(zhí)行結(jié)果和所輸出的數(shù)值均以調(diào)試日志信息回傳至“上位機(jī)命令行”程序。
本發(fā)明的這種方案可以很容易的幫助電路板固件研發(fā)工程師或者測(cè)試人員實(shí)現(xiàn)調(diào)試或者測(cè)試功能的擴(kuò)展。比如,可以增加定義以下函數(shù)實(shí)現(xiàn)相應(yīng)功能擴(kuò)展:
定義一個(gè)函數(shù):列出系統(tǒng)當(dāng)前所有的內(nèi)存總大小,已使用的大小,空閑的大小,空閑最大塊的大小,內(nèi)存使用的峰值等等。
定義一個(gè)函數(shù):列出系統(tǒng)當(dāng)前所有駐留內(nèi)存的進(jìn)程,包括進(jìn)程名,進(jìn)程標(biāo)識(shí)(Task?Identification),進(jìn)程入口地址,進(jìn)程優(yōu)先級(jí),進(jìn)程狀態(tài),CPU時(shí)間占用比例等等。定義一個(gè)函數(shù):將進(jìn)程標(biāo)識(shí)(Task?Identification)或者進(jìn)程句柄作為參數(shù),列出該進(jìn)程執(zhí)行的堆棧信息。即從進(jìn)程當(dāng)前正在執(zhí)行的函數(shù),到該進(jìn)程的入口函數(shù),列出所有函數(shù)調(diào)用層次關(guān)系。對(duì)于固件研發(fā)工程師來(lái)講,這是一個(gè)非常有用的函數(shù)命令,因?yàn)楫?dāng)固件有異常發(fā)生,只要系統(tǒng)還沒(méi)有徹底崩潰,就可以通過(guò)該命令準(zhǔn)確的定位到異常所發(fā)生的代碼行。
定義一個(gè)函數(shù):并且定義函數(shù)參數(shù)為數(shù)據(jù)地址,數(shù)據(jù)長(zhǎng)度,文件名。通過(guò)該函數(shù)命令,將目標(biāo)電路板系統(tǒng)指定地址的數(shù)據(jù)以及長(zhǎng)度下載到上位機(jī),以指定的文件名保存。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于吳華中,未經(jīng)吳華中許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110307097.7/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過(guò)測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過(guò)處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過(guò)軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 命令行處理系統(tǒng)及方法
- 一種基于XML的命令行處理裝置及方法
- 一種交換機(jī)的配置方法、裝置、移動(dòng)終端及交換機(jī)
- 一種命令行校驗(yàn)方法及裝置
- 一種命令行工具更新方法及裝置
- 一種命令行命令樹(shù)構(gòu)建方法和命令行動(dòng)態(tài)加載的方法
- 一種命令行記錄的方法、系統(tǒng)、設(shè)備及可讀存儲(chǔ)介質(zhì)
- 基于命令行的SSD固件打包方法、裝置及計(jì)算機(jī)設(shè)備
- 一種擬態(tài)執(zhí)行體命令行狀態(tài)恢復(fù)方法
- 一種基于PuTTY的命令行行為實(shí)時(shí)阻斷方法
- 調(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)用程序開(kāi)發(fā)的調(diào)試系統(tǒng)及方法
- 樓宇設(shè)備的異地調(diào)試控制方法、裝置和計(jì)算機(jī)設(shè)備
- 一種芯片調(diào)試系統(tǒng)及芯片調(diào)試方法
- 軟件測(cè)試系統(tǒng)及測(cè)試方法
- 自動(dòng)化測(cè)試方法和裝置
- 一種應(yīng)用于視頻點(diǎn)播系統(tǒng)的測(cè)試裝置及測(cè)試方法
- Android設(shè)備的測(cè)試方法及系統(tǒng)
- 一種工廠測(cè)試方法、系統(tǒng)、測(cè)試終端及被測(cè)試終端
- 一種軟件測(cè)試的方法、裝置及電子設(shè)備
- 測(cè)試方法、測(cè)試裝置、測(cè)試設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 測(cè)試裝置及測(cè)試系統(tǒng)
- 測(cè)試方法及測(cè)試系統(tǒng)
- 一種數(shù)控切削指令運(yùn)行軟件測(cè)試系統(tǒng)及方法





