專利名稱:一種遠(yuǎn)程串口調(diào)試方法及其系統(tǒng)的制作方法
一種遠(yuǎn)程串口調(diào)試方法及其系統(tǒng)
技術(shù)4頁域
本發(fā)明涉及設(shè)備調(diào)試技術(shù),尤其是涉及一種遠(yuǎn)程串口調(diào)試方法及其系統(tǒng)。
背景技術(shù):
在嵌入式設(shè)備的開發(fā)和維護(hù)過程中,對設(shè)備進(jìn)行相應(yīng)的性能調(diào)試是一 個(gè)不可缺少的工序,尤其在設(shè)備進(jìn)入商用階段后,對于設(shè)備在現(xiàn)場出現(xiàn)的 問題進(jìn)行快速調(diào)試和定位已經(jīng)成為衡量產(chǎn)品整體質(zhì)量的一個(gè)重要方面。這 不僅僅是設(shè)備可測試性、可調(diào)試性的要求,同時(shí)也可確定設(shè)備發(fā)生故障后 所需的處理時(shí)間和處理質(zhì)量。
任何設(shè)備在運(yùn)行時(shí)都會發(fā)生故障,基于這一假設(shè),通常在產(chǎn)品設(shè)備設(shè)
計(jì)開發(fā)之初,就應(yīng)該統(tǒng)一考慮后續(xù)的調(diào)試定位手段。對于通信設(shè)備而言, 在最短的時(shí)間內(nèi)恢復(fù)故障并將故障的波及范圍降到最低也就意味著故障對 現(xiàn)網(wǎng)的業(yè)務(wù)影響最小,產(chǎn)品的服務(wù)質(zhì)量就越高。
現(xiàn)行通用的調(diào)試方法大致有以下幾種
第一種、通過telnet (—種基于TCP/IP的遠(yuǎn)程登錄協(xié)議)方式登錄目 標(biāo)板進(jìn)行調(diào)試
這種調(diào)試方法是建立在IP通道的基礎(chǔ)上,具有可靠,速率高的有點(diǎn);
但是,需要目標(biāo)板加載TCP/IP協(xié)議棧和網(wǎng)口設(shè)備,需要預(yù)先知道目標(biāo)板的 IP地址,對目標(biāo)板的要求較高;
第二種、通過本地串口的方式觀察系統(tǒng)的打印輸出
這種調(diào)試方法簡便易行,對目標(biāo)板的要求也較低,只需要初始化幾個(gè) 寄存器即可;然而,該方法的不足之處在于由于串口的固有傳輸特性, 本地主控才幾不能與目標(biāo)^反相距太遠(yuǎn);
第三種、通過ICE (In Circuit Emulator)仿真器( 一種直接將仿真頭嵌 入到目標(biāo)板的CPU芯片處并加以固定,使它的每一條引線與CPU芯片上的 對應(yīng)引線接觸的仿真器)
ICE仿真系統(tǒng)支持標(biāo)準(zhǔn)和先進(jìn)的調(diào)試功能,如復(fù)雜斷點(diǎn)、應(yīng)用代碼的追 蹤和數(shù)據(jù)采集、代碼執(zhí)行計(jì)時(shí)及實(shí)時(shí)變量監(jiān)控;但是,這種方法的缺點(diǎn)是 需要專門的仿真器支持,無法應(yīng)用在大型實(shí)驗(yàn)室或商用環(huán)境中,且調(diào)試成 本高。
綜上所述,現(xiàn)有的調(diào)試方法大多比較獨(dú)立,缺乏有效的整合,尤其是 在大型實(shí)驗(yàn)室或商用環(huán)境下,設(shè)備機(jī)房與集中控制室相距較遠(yuǎn),當(dāng)telnet 方法失效時(shí),幾無其他調(diào)試手段可用。
為了能夠解決上述問題,使得在某些嚴(yán)重故障下或是在某些需要目標(biāo) 板加載網(wǎng)口設(shè)備和協(xié)議棧之前就可以用本地串口調(diào)試的情形時(shí),則必須有 一種整合上述telnet和本地串口協(xié)同調(diào)試的方法。
中國專利(申請?zhí)?00610090190.6,公開號CN1卯1569A)公開了 一種遠(yuǎn)程調(diào)試方法及系統(tǒng),其調(diào)試方法包括以下步驟客戶端根據(jù)調(diào)試端 信息與調(diào)試端建立調(diào)試通道,將調(diào)試指令發(fā)送至調(diào)試端的主控板上;所述 主控板將接收的調(diào)試指令下發(fā)給目標(biāo)板;所述目標(biāo)板接收調(diào)試指令并作出 相應(yīng)處理。
然而,所述中國專利申請存在以下不足 一、該專利實(shí)現(xiàn)過程中需要 目標(biāo)板的BSP (板級支持包)軟件作復(fù)雜的流程來構(gòu)造底層調(diào)試單元,并 修改回調(diào)函數(shù),從而在當(dāng)目標(biāo)板在上電過程起始時(shí)或尚未完全上電的期間 便無法進(jìn)行上述動作而不能進(jìn)行調(diào)試;二、該專利要求的方法需要修改諸 多底層軟件才能滿足調(diào)試需求,大大增加了底層軟件的復(fù)雜性,降低了整 個(gè)系統(tǒng)的穩(wěn)定性和可靠性,容易在調(diào)試過程中引入故障,影響業(yè)務(wù)。
因此,現(xiàn)有技術(shù)有待于完善和發(fā)展。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種遠(yuǎn)程串口調(diào)試方法,該方法解決了需要修
改底層軟件才能完成遠(yuǎn)程調(diào)試的問題;為此,本發(fā)明還提供了一種遠(yuǎn)程串 口調(diào)試系統(tǒng)。
本發(fā)明調(diào)試方法的技術(shù)方案包括如下步驟
A、 在控制端與調(diào)試端之間建立串口通道;
B、 所述控制端向所述調(diào)試端的目標(biāo)板輸出串口通道測試指令,檢 查所述串口通道是否暢通;
C、 如果是,則所述控制端通過所述串口通道向所述目標(biāo)板發(fā)送調(diào) 試指令,并且在所述目標(biāo)板上進(jìn)行調(diào)試操作。
所述調(diào)試方法,其中,所述步驟B中,所述串口通道的暢通性測試過
程包括如下步驟
Bl、在所述控制端上增大所述主控板操作系統(tǒng)的時(shí)鐘頻率;
B2、所述主控板檢查其當(dāng)前控制臺的輸入方向是否為Telnet方向;
B3、如果是,則所述主控板循環(huán)查詢所述控制臺輸入的串口通道測試
指令,并獲取該串口通道測試指令;
B4、所述主控板將所述串口通道測試指令輸送至所述目標(biāo)板;
B5、所述目標(biāo)板根據(jù)所述串口通道測試指令,檢查當(dāng)前控制臺的輸出
方向是否為串口方向;
B6、如果是,則讀取當(dāng)前控制臺輸入的所述串口通道測試指令,并且
輸出該串口通道測試指令。
所述調(diào)試方法,其中,所述步驟C中,所述調(diào)試操作過程包括如下步
驟
Cl、所迷控制端發(fā)送所述調(diào)試指令后,所述主控板循環(huán)檢查其當(dāng)前控 制臺輸入的調(diào)試指令,并獲取該調(diào)試指令;
C2、所述主控板將所述調(diào)試指令通過串口通道發(fā)送至所述目標(biāo)板。 所述調(diào)試方法,其中,所述步驟C之后還執(zhí)行如下步驟
D、 所述目標(biāo)板通過所述串口通道,將調(diào)試結(jié)果發(fā)送至所述主控板,由所述主控板輸出所述調(diào)試結(jié)果。
所述調(diào)試方法,其中,所述步驟D之后還執(zhí)行如下步驟
E、所述主控板檢測其當(dāng)前控制臺輸入的信息是否為停止調(diào)試信息,是
則啟動所述主控板上的停止調(diào)試功能,結(jié)束調(diào)試;否則繼續(xù)執(zhí)行調(diào)試操作。 本發(fā)明還提供一種遠(yuǎn)程串口調(diào)試系統(tǒng),包括控制端,用于輸出操作指
令,及與所述控制端相連的調(diào)試端,用于執(zhí)行調(diào)試任務(wù);所述控制端包括
至少一個(gè)主控板,所述調(diào)試端包括至少一個(gè)目標(biāo)板;其特征在于,所述控
制端還包括
本地通用PC機(jī),與所述主控板通過IP連接,用于向所述主控板發(fā)送 操作指令;及
串口連接線,設(shè)置在所述主控板與所述目標(biāo)板之間,用于傳輸操作指 令或調(diào)試結(jié)果信息。
所述調(diào)試系統(tǒng),其中,所述主控板上包括第一命令行解釋模塊及第一
串口驅(qū)動禪塊;所述第一命令行解釋模塊用于獲取所述主控板當(dāng)前輸入的 操作指令息或調(diào)試結(jié)果信息;所述第一串口驅(qū)動模塊設(shè)有第一串口輪詢接
口 ,用于驅(qū)動所接收到的操作指令信息或調(diào)試結(jié)果信息。
所述調(diào)試系統(tǒng),其中,所述目標(biāo)板包括第二命令行解釋模塊及第二串
口驅(qū)動模塊;所述第二命令行解釋模塊用于獲取所述目標(biāo)板當(dāng)前輸入的操
作指令息或調(diào)試結(jié)果信息;所述第二串口驅(qū)動模塊設(shè)有第二串口輪詢接口 , 用于驅(qū)動所接收到的操作指令信息或調(diào)試結(jié)果信息。
采用本發(fā)明技術(shù)方案,無需修改底層軟件驅(qū)動就可以實(shí)現(xiàn)遠(yuǎn)程設(shè)備調(diào) 試,從而使得遠(yuǎn)程設(shè)備調(diào)試程序筒單化,進(jìn)而節(jié)省了不必要的調(diào)試軟件的 開發(fā),'且由于是利用串口進(jìn)行所述主控板與所述目標(biāo)板的通信,在所述目 標(biāo)板啟動之處即可進(jìn)行調(diào)試,因此,提高了遠(yuǎn)程調(diào)試的能力和范圍。
圖l是本發(fā)明遠(yuǎn)程串口調(diào)試系統(tǒng)的結(jié)構(gòu)示意圖; 圖2是本發(fā)明遠(yuǎn)程串口調(diào)試方法的實(shí)現(xiàn)流程圖。
具體實(shí)施例方式
下面結(jié)合附圖,對本發(fā)明的較佳實(shí)施例作進(jìn)一步詳細(xì)說明。 請參閱附圖1,本發(fā)明提供了一種遠(yuǎn)程串口調(diào)試系統(tǒng),包括控制端及調(diào) 試端;其中,所述調(diào)試端包括至少一個(gè)目標(biāo)板140,該目標(biāo)板140包括第二 命令行解釋模塊及第二串口驅(qū)動模塊,且在第二串口驅(qū)動模塊端設(shè)有一第 一串口輪詢接口;所述控制端包括本地通用PC機(jī)110、至少一個(gè)主控板120 及串口連接線130,且所述主控板120包括第一命令行解釋模塊及第一串口 驅(qū)動模塊,所述第二串口驅(qū)動模塊端設(shè)有一第二串口輪詢接口,該第二串 口輪詢接口通過所述串口連接線與第一串口輪詢接口連接,構(gòu)成一用于傳 輸信息的串口通道,用于驅(qū)動所接收到的操作指令息或調(diào)試結(jié)果信息。
其中,第 一命令行解釋模塊及第二命令行解釋模塊由操作系統(tǒng)商集成 在操作系統(tǒng)軟件中,提供操作系統(tǒng)內(nèi)核的命令行方式的用戶調(diào)用接口用于 實(shí)現(xiàn)命令行解釋功能。當(dāng)本地通用PC機(jī)發(fā)出操作指令時(shí),所述主控板120 上的第一命令行解釋^^莫塊(shell I )將循環(huán)查詢該主控板當(dāng)前控制臺輸入
的操作指令,并且獲取該操作指令;然后將獲取的操作指令輸送至所述第 一串口驅(qū)動模塊上,由該第一串口驅(qū)動模塊將所述操作指令通過第一串口
輪詢接P發(fā)送到所述串口連接線130上;接著所述操作指令通過所述串口
連接線130輸送至所述第二串口驅(qū)動模塊,由該第二串口驅(qū)動模塊將所述
操作指令發(fā)送至第二命令行解釋模塊;作后由第二命令行解釋模塊(shell
II )將所述操作指令解釋出來,并且在所述目標(biāo)板140上完成所需的操作,
比如串口通道測試々喿作,或調(diào)試操作等。
比如,當(dāng)所述目標(biāo)板完成調(diào)試操作后,所述第二命令行解釋模塊將調(diào)
試結(jié)果發(fā)送至笫二串口驅(qū)動模塊,在由所述第二串口輪詢接口發(fā)送至所述串口連接線130上,經(jīng)由第 一 串口驅(qū)動模塊及shell I后,由shell I將調(diào) 試結(jié)果信息解釋處理,并將該調(diào)試結(jié)果信息通過所述主控板120的當(dāng)前控 制臺打印輸出。如果需要停止調(diào)試操作時(shí),在本地通用PC機(jī)上輸入Ctril+C
(停止調(diào)試)命令后,停止調(diào)試操作。
為了實(shí)現(xiàn)遠(yuǎn)程串口調(diào)試,本發(fā)明提供了一種遠(yuǎn)程串口調(diào)試方法,請參 閱附圖2,其實(shí)現(xiàn)流出包括如下步驟
201、 用串口連接線將主控板與目標(biāo)板相連接;其中,考慮到串口連接 線的有效傳輸長度,該主控板與所述目標(biāo)板距離不要超過10米;
202、 通過本地通用PC機(jī),輸入串口通道測試指令,檢查所述主控板 的當(dāng)前控制臺輸出方向是否為telnet方向,是則轉(zhuǎn)至步驟203,否則將所述 主控板的當(dāng)前控制臺輸出方向切換到Telnet方向,再轉(zhuǎn)至步驟203;
203、 根據(jù)所述主控板的shell I的波特率,增大主控板操作系統(tǒng)時(shí)鐘 頻率至1000Hz,同時(shí)取消重啟shell I的Ctrl+C命令功能,進(jìn)入無限循環(huán) 遠(yuǎn)程串口交互狀態(tài);其中,當(dāng)前shell I底層的通訊媒介為串口設(shè)備;
204、 shell I不斷循環(huán)查詢主控板當(dāng)前控制臺輸入的串口通道測試指 令,并獲取串口通道測試指令后,將該串口通道測試指令通過所述主控板 的第 一 串口輪詢發(fā)送接口發(fā)送到所述目標(biāo)板;
205、 所述目標(biāo)板上的shell II根據(jù)接收到的串口通道測試指令,檢查 該目標(biāo)板的當(dāng)前控制臺輸出方向是否為串口方向,是則轉(zhuǎn)至步驟206,否則 本地通用PC機(jī)通過所述主控板發(fā)送命令指令,將所述目標(biāo)板的當(dāng)前控制臺 輸出方向切換到串口方向,再轉(zhuǎn)至步驟206;
206、 啟動調(diào)試操:作,在本地通用PC機(jī)上輸入調(diào)試指令,并由所述主 控板的當(dāng)前控制臺輸入調(diào)試指令,并且由shell I獲取調(diào)試指令后通過串口 連接線輸送至目標(biāo)板,在目標(biāo)板上執(zhí)行調(diào)試任務(wù);
207、 所述調(diào)試任務(wù)完成后,所述目標(biāo)板將所述調(diào)試結(jié)果輸送至主控板 上,由該主控板的當(dāng)前控制臺打印并輸出調(diào)試結(jié)果;
208、 當(dāng)需要停止調(diào)試任務(wù)時(shí),在本地通用PC機(jī)上輸入Ctrl+C后輸送 至主控板,shell I將檢測當(dāng)前控制臺輸入的指令信息是否為Ctrl+C,是則 轉(zhuǎn)至步驟209,否則轉(zhuǎn)至步驟204,繼續(xù)執(zhí)行調(diào)試任務(wù);
209、 結(jié)束循環(huán),回退所述主控板的操作系統(tǒng)的時(shí)鐘頻率,恢復(fù)重啟shell I的Ctrl+C命令功能,完成調(diào)試。
綜上所述,采用本發(fā)明技術(shù)方案,無需修改底層軟件驅(qū)動就可以實(shí)現(xiàn) 遠(yuǎn)程設(shè)備調(diào)試,簡化了遠(yuǎn)程設(shè)備的調(diào)試程序,從而節(jié)省了不必要的調(diào)試軟 件的開發(fā)成本和時(shí)間,提高了遠(yuǎn)程調(diào)試的能力和范圍;同時(shí),在執(zhí)行調(diào)試 操作時(shí),該技術(shù)方案的實(shí)施也不會影響到單板的穩(wěn)定性及現(xiàn)有業(yè)務(wù)運(yùn)行程 序。
應(yīng)當(dāng)理解的是,對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以 改進(jìn)或變換,而所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1、一種遠(yuǎn)程串口調(diào)試方法,包括如下步驟A、在控制端與調(diào)試端之間建立串口通道;B、所述控制端向所述調(diào)試端的目標(biāo)板輸出串口通道測試指令,進(jìn)行串口通道的暢通性測試;C、如果是,則所述控制端通過所述串口通道向所述目標(biāo)板發(fā)送調(diào)試指令,并且在所述目標(biāo)板上進(jìn)行調(diào)試操作。
2、 根據(jù)權(quán)利要求1所述的調(diào)試方法,其特征在于,所述步驟B中, 所述串口通道的暢通性測試過程包括如下步驟 B1 、在所述控制端上增大所述主控板操作系統(tǒng)的時(shí)鐘頻率; B2、所述主控板檢查其當(dāng)前控制臺的輸入方向是否為Telnet方向; B3、如果是,則所述主控板循環(huán)查詢所述控制臺輸入的串口通道測試指令,并獲:f又該串口通道測試指令; .B4、所述主控板將所述串口通道測試指令輸送至所述目標(biāo)板; B5、所述目標(biāo)板根據(jù)所述串口通道測試指令,檢查當(dāng)前控制臺的輸出方向是否為串口方向; B6、如果是,則讀取當(dāng)前控制臺輸入的所述串。通道測試指令,并且 輸出該串口通道測試指令。
3、 根據(jù)權(quán)利要求1所述的調(diào)試方法,其特征在于,所述步驟C中, 所述調(diào)試操作過程包括如下步驟Cl、所述控制端發(fā)送所述調(diào)試指令后,所述主控板循環(huán)檢查其當(dāng)前控制臺輸入的調(diào)試指令,并獲取該調(diào)試指令; C2、所述主控;^反將所述調(diào)試指令發(fā)送至所述目標(biāo)板。
4、 根據(jù)權(quán)利要求1所述的調(diào)試方法,其特征在于,所述步驟C之后 還包括步驟D、所述目標(biāo)板通過所述串口通道,將調(diào)試結(jié)果發(fā)送至所述主控板,由 所述主控板輸出所述調(diào)試結(jié)果。
5、 根據(jù)權(quán)利要求4所述的調(diào)試方法,其特征在于,所述步驟D之后 還執(zhí)行如下步驟F、所述主控板檢測當(dāng)前控制臺輸入的信息是否為停止調(diào)試信息,若是 則啟動所述主控板上的停止調(diào)試功能,結(jié)束調(diào)試;否則繼續(xù)^L行調(diào)試操作。
6、 一種遠(yuǎn)程串口調(diào)試系統(tǒng),包括控制端,用于輸出操作指令,及與 所述控制端相連的調(diào)試端,用于執(zhí)行調(diào)試任務(wù);所述控制端包括至少一個(gè) 主控板,所述調(diào)試端包括至少一個(gè)目標(biāo)板;其特征在于,所述控制端還包 括本地通用PC才幾,與所述主控板通過IP連接,用于向所述主控板發(fā)送 操作指令;及串口連接線,設(shè)置在所述主控板與所述目標(biāo)板之間,用于傳輸操作指 令或調(diào)試結(jié)果信息。
7、 根據(jù)權(quán)利要求6所述的調(diào)試系統(tǒng),其特征在于,所述主控板上包 括第一命令行解釋模塊及第 一 串口驅(qū)動模塊;所述第一命令行解釋模塊用 于獲取所述主控板當(dāng)前輸入的操作指令息或調(diào)試結(jié)果信息;所述第一串口 驅(qū)動模塊設(shè)有第一串口輪詢接口 ,用于驅(qū)動所接收到的操作指令信息或調(diào) 試結(jié)果信息。
8、 根據(jù)權(quán)利要求6所述的調(diào)試系統(tǒng),其特征在于,所述目標(biāo)板包括 第二命令行解釋模塊及第二串口驅(qū)動模塊;所述第二命令行解釋模塊用于 獲取所述目標(biāo)板當(dāng)前輸入的操作指令息或調(diào)試結(jié)果信息;所述第二串口驅(qū) 動模^:設(shè)有第二串口輪詢接口 ,用于驅(qū)動所接收到的操作指令信息或調(diào)試 結(jié)果信息。
全文摘要
本發(fā)明公開了一種遠(yuǎn)程串口調(diào)試方法及其系統(tǒng),應(yīng)用于設(shè)備調(diào)試領(lǐng)域,其中,所述調(diào)試方法包括在控制端與調(diào)試端之間建立串口通道;所述控制端向所述調(diào)試端的目標(biāo)板輸出串口通道測試指令,檢查所述串口通道是否暢通;如果是,則所述控制端通過所述串口通道向所述目標(biāo)板發(fā)送調(diào)試指令,并且在所述目標(biāo)板上進(jìn)行調(diào)試操作。采用本發(fā)明技術(shù)方案,無需修改底層軟件驅(qū)動就可以實(shí)現(xiàn)遠(yuǎn)程設(shè)備調(diào)試,從而使得遠(yuǎn)程設(shè)備調(diào)試程序簡單化,進(jìn)而節(jié)省了不必要的調(diào)試軟件的開發(fā),提高了遠(yuǎn)程調(diào)試的能力和范圍;同時(shí),該技術(shù)方案的實(shí)施不會影響到單板的穩(wěn)定性及現(xiàn)有的業(yè)務(wù)功能。
文檔編號H04L12/24GK101170438SQ20071012471
公開日2008年4月30日 申請日期2007年11月13日 優(yōu)先權(quán)日2007年11月13日
發(fā)明者徐云川, 馬立軍 申請人:中興通訊股份有限公司