專利名稱::調(diào)試方法和調(diào)試系統(tǒng)的制作方法
技術領域:
:本發(fā)明涉及調(diào)試技術,具體涉及調(diào)試方法和調(diào)試系統(tǒng)。技術背景為了降低工程師到設備現(xiàn)場對故障設備進行維護所產(chǎn)生的費用,目前出現(xiàn)了遠程調(diào)試系統(tǒng),使得工程師可以在異地對故障設備進行調(diào)試維護。例如,已售出的開發(fā)板在用戶使用過程中出現(xiàn)故障,則供應商工程師可以通過遠程調(diào)試系統(tǒng)對開發(fā)板進行遠程調(diào)試,以幫助用戶解決故障。圖1為現(xiàn)有技術中遠程調(diào)試系統(tǒng)的結構示意圖,如圖l所示,該系統(tǒng)包括調(diào)試方設備、調(diào)試服務設備和被調(diào)試設備,其中,調(diào)試服務設備和被調(diào)試設備為被調(diào)試方。當被調(diào)試設備發(fā)生故障時,調(diào)試方設備通過網(wǎng)絡向調(diào)試服務設備發(fā)送調(diào)試指令。調(diào)試服務設備接收到調(diào)試指令后,從被調(diào)試設備的控制單元中獲取程序代碼,并發(fā)送給調(diào)試方設備??刂茊卧潜徽{(diào)試設備中的中央處理單元(CPU),用于執(zhí)行程序代碼。獲得程序代碼后,調(diào)試方人員可以將程序代碼下載到與被調(diào)試設備同型號的實驗設備中,并運行,從而根據(jù)運行狀態(tài)定位故障并確定故障解決方案,然后將解除故障后的正確程序代碼通過網(wǎng)絡發(fā)送給被調(diào)試方。被調(diào)試i殳備重新加載正確的程序代碼,乂人而解決了原有故障。但是,在現(xiàn)有的遠程調(diào)試方案中,調(diào)試方只能根據(jù)從控制單元獲取的程序代碼定位故障,而被調(diào)試設備中不僅包括控制單元,還包括邏輯電路??刂茊卧\行程序代碼后的輸出數(shù)據(jù)可能要經(jīng)過邏輯電路的處理,如果程序代碼沒有問題,而是邏輯電路出現(xiàn)故障,也會導致被調(diào)試設備故障??梢姡捎诂F(xiàn)有的遠程調(diào)試方案只能獲取程序代碼,不能獲取邏輯電路的狀態(tài)信息,因此無法確定邏輯電路故障。目前,常用的本地調(diào)試系統(tǒng)也是借助于供應商提供的調(diào)試服務設備,獲取被調(diào)試設備的程序代碼作為故障判斷依據(jù),同樣具有不能方便獲取邏輯電路狀態(tài)信息的缺陷。
發(fā)明內(nèi)容有鑒于此,本發(fā)明提供了一種調(diào)試方法,能夠獲取被調(diào)試設備中邏輯電路的狀態(tài)。該方法包括調(diào)試服務設備接收讀取被調(diào)試設備邏輯電路中調(diào)試點電平的讀取指令,根據(jù)所述讀取指令,通過自身與調(diào)試點之間的物理傳輸通道,讀取調(diào)試點電平。其中,所述邏輯電路包括一個以上的調(diào)試點,一條物理傳輸通道連接一個調(diào)試點;所述調(diào)試服務設備根據(jù)所述讀取指令,通過自身與調(diào)試點之間的物理傳輸通道,讀取調(diào)試點電平為所述調(diào)試服務設備根據(jù)所述讀取指令確定當前調(diào)試點,根據(jù)調(diào)試點與物理傳輸通道之間的對應關系,通過與所述當前調(diào)試點對應的物理傳輸通道,讀^f又所述當前調(diào)試點電平。較佳地,所述調(diào)試服務設備與調(diào)試點之間的物理傳輸通道為連接調(diào)試服務設備與調(diào)試點的通信接口提供的、從被調(diào)試設備到調(diào)試服務設備的輸入通道,該輸入通道與調(diào)試點相連。較佳地,所述輸入通道為所述通信接口提供的除數(shù)據(jù)接收通道、數(shù)據(jù)發(fā)送通道、地信號通道之外的輸入通道。其中,所述調(diào)試服務設備與所述被調(diào)試設備之間通過串行接口相連;所述輸入通道為數(shù)據(jù)載波檢測DCD信號通道,和/或數(shù)據(jù)設備準備就緒DSR信號通道,和/或清除發(fā)送CTS信號通道,和/或振鈴指示RI信號通道。其中,所述調(diào)試點為所述邏輯電路的I/O引腳。較佳地,該方法進一步包括調(diào)試服務設備接收控制被調(diào)試設備中受控點的控制指令;調(diào)試服務設備根據(jù)所述控制指令確定當前受控點,通過自身與所述當前受控點之間的物理傳輸通道,將當前受控點的電平i殳置為指定值。其中,所述調(diào)試服務設備與所述被調(diào)試設備之間通過串行接口相連;調(diào)試服務設備與所述受控點之間的物理傳輸通道為數(shù)據(jù)終端準^^就緒DTR通道,和/或請求發(fā)送RTS通道;所述受控點包括被調(diào)試設備中系統(tǒng)在線編程ISP開關引腳和系統(tǒng)復位RESET引腳。較佳地,該方法進一步包括調(diào)試服務設備接收調(diào)試工具指令;調(diào)試服務設備將調(diào)試工具指令封裝為符合遠程串行協(xié)議RSP協(xié)議的數(shù)據(jù)包,通過遵循RSP協(xié)議的數(shù)據(jù)收發(fā)通道發(fā)送給被調(diào)試設備中的調(diào)試代理,接收調(diào)試代理執(zhí)行調(diào)試工具指令對應的操作后返回的指令執(zhí)行結果。較佳地,調(diào)試服務設備接收的指令是調(diào)試方設備通過網(wǎng)絡發(fā)送給調(diào)試服務設備的;所述調(diào)試點電平為指令執(zhí)行結果;該方法進一步包括調(diào)試服務設備將得到的指令執(zhí)行結果返回給調(diào)試方設備。較佳地,所述指令執(zhí)行結果返回給調(diào)試方設備之后,進一步包括調(diào)試方設備根據(jù)作為指令執(zhí)行結果的調(diào)試點電平生成時序圖或真值表。本發(fā)明還提供了一種調(diào)試系統(tǒng),能夠獲取被調(diào)試設備中邏輯電路的狀態(tài)。該系統(tǒng)包括調(diào)試服務設備和被調(diào)試設備;所述調(diào)試服務設備通過物理傳輸通道與被調(diào)試設備中邏輯電路的調(diào)試點相連;所述調(diào)試服務設備,用于接收讀取所述邏輯電路中調(diào)試點電平的讀取指令,通過所述物理傳輸通道讀取調(diào)試點電平。所述被調(diào)試設備包括邏輯電路和第二串行物理接口;所述邏輯電路的調(diào)試點與第二串行物理接口中的輸入引腳相連;所述調(diào)試服務設備包括服務單元和第一串行物理接口;所述第一串行物理接口的輸入?1腳通過傳輸線與所述第二串行物理接口的輸入51腳對應相連;所述第一串行物理接口的輸入引腳與所述服務單元相連;所述服務單元,用于根據(jù)所接收的讀取指令,從第一串行物理接口的輸入引腳對應的輸入通道上讀取電平,作為調(diào)試點電平。根據(jù)以上技術方案可見,本發(fā)明的調(diào)試方案采用物理傳輸通道將調(diào)試服務設備與被調(diào)試設備的邏輯電路中的調(diào)試點相連,由于是物理傳輸通道,因此調(diào)試服務設備與調(diào)試點之間具有電氣通路,那么調(diào)試服務設備可以直接通過該電氣通路獲取邏輯電路中的調(diào)試點電平,從而使得調(diào)試點電平獲得者可以通過對邏輯電路調(diào)試點的電平變化進行分析,確定邏輯電^各中可能發(fā)生的故障。通常,調(diào)試服務設備和-故調(diào)試設備之間的已有接口為串行接口,因此進一步地,本發(fā)明實施例采用串行接口中的額外輸入通道,即DCD信號通道、DSR信號通道、CTS信號通道和RI信號通道,作為獲取調(diào)試點電平的物理傳輸通道。由于采用被調(diào)試設備上的已有接口,不用在被調(diào)試設備上增加額外接口,從而簡化了遠程調(diào)試系統(tǒng)的硬件組成。而且,本發(fā)明實施例將邏輯電路的I/O引腳電平作為調(diào)試點,當邏輯電路的i/o電平變化時,將直接體現(xiàn)在相關通道中,通過讀取并分析這些通道中的電平,就可以得知邏輯電^各狀態(tài),乂人而定位故障。本發(fā)明實施例的調(diào)試服務設備還可以根據(jù)調(diào)試方設備指令,通過自身與被調(diào)試設備中受控點之間的輸出通道,控制受控點電平,從而實現(xiàn)遠程重啟操作,和遠程控制被調(diào)試設備進入ISP模式的操作。調(diào)試服務設備還可以接收GDB指令,并通過數(shù)據(jù)收發(fā)通道發(fā)送至被調(diào)試設備,被調(diào)試設備中的調(diào)試代理根據(jù)GDB指令進行相應處理,從而實現(xiàn)單步調(diào)試、斷點調(diào)試、讀寫內(nèi)存、讀寫寄存器等功能。圖1為現(xiàn)有技術中遠程調(diào)試系統(tǒng)的結構示意圖。圖2為本發(fā)明中遠程調(diào)試系統(tǒng)的結構示意圖。圖3為本發(fā)明實施例一中遠程調(diào)試系統(tǒng)的結構圖。圖4為圖3中服務器220的處理流程圖。圖5為本發(fā)明實施例二中遠程調(diào)試系統(tǒng)的結構圖。圖6為圖5中服務器220和被調(diào)試設備230的結構示意圖。圖7為圖5中服務器220的處理流程圖。圖8為本發(fā)明實施例三中遠程調(diào)試系統(tǒng)的結構示意圖。具體實施方式為了確定邏輯電路的狀態(tài),本發(fā)明實施例提供的調(diào)試方案,在被調(diào)試i殳備的邏輯電路中設置調(diào)試點,同時調(diào)試服務設備通過物理傳輸通道與調(diào)試點相連。調(diào)試服務設備接收來自外部的讀取調(diào)試點電平的讀取指令,根據(jù)所接收的讀取指令,通過自身與待讀取電平的調(diào)試點之間的物理傳輸通道,讀取該調(diào)試點電平,從而獲得邏輯電路狀態(tài)。其中,調(diào)試服務設備接收的讀取指令可以是用戶輸入到調(diào)試服務設備的,也可以是通過網(wǎng)絡接收自遠程調(diào)試方設備的。在后者情況下,調(diào)試服務設備讀取調(diào)試點電平后,進一步將調(diào)試點電平發(fā)送給調(diào)試方設備。那么,作為調(diào)試點電平獲得者的遠程調(diào)試方就可以根據(jù)邏輯電路中調(diào)試點的電平確定邏輯電路狀態(tài),進而對邏輯電路進行故障定位,從而實現(xiàn)了遠程調(diào)試。以下,在本發(fā)明實施例的描述中均以調(diào)試服務設備接收調(diào)試方設備的調(diào)試指令為例進行描述。圖2為本發(fā)明中遠程調(diào)試系統(tǒng)的結構示意圖。如圖2所示,該系統(tǒng)包括作為調(diào)試方設備的客戶端210、作為調(diào)試服務設備的服務器220和被調(diào)試設備230。調(diào)試方設備和調(diào)試服務設備之間采用支持客戶端/服務器(Client/Server)的傳輸協(xié)議進行網(wǎng)絡通信,一個服務器可以為多個客戶端服務。其中,服務器220通過物理傳輸通道與被調(diào)試設備230中邏輯電路231的調(diào)試點相連。圖2中邏輯電路231左側虛線框內(nèi)的短粗實線表示調(diào)試點。從調(diào)試點指向服務器220的單箭頭實線標識物理傳輸通道。本發(fā)明實施例中,物理傳輸通道是指電氣上直接連通的通路。客戶端210,用于通過網(wǎng)絡向服務器220發(fā)送讀取指令,該讀取指令指示服務器220讀取被調(diào)試設備230的邏輯電路231中調(diào)試點電平,然后客戶端210接收服務器220返回的調(diào)試點電平。服務器220,用于接收來自客戶端210的讀取指令,通過自身與待讀取電平的調(diào)試點之間的物理傳輸通道,讀取調(diào)試點電平,并返回給客戶端210。在實際中,可以在邏輯電路231中設置一個以上的調(diào)試點,例如圖2中邏輯點231包括4個調(diào)試點。在具有多個調(diào)試點的情況下,一條物理傳輸通道對應一個調(diào)試點。那么服務器220在接收到讀取指令后,根據(jù)該讀取指令確定當前調(diào)試點,根據(jù)調(diào)試點與物理傳輸通道之間的對應關系,通過與所述當前調(diào)試點對應的物理傳輸通道,讀取所述當前調(diào)試點電平。通常,對于組合邏輯電路而言,根據(jù)邏輯電路真值表可以判斷邏輯是否正確,對于時序邏輯電路而言,結合邏輯電路I/0輸出的時序圖可以判斷邏輯是否正確。而真值表和時序圖都是根據(jù)邏輯電路的1/0輸出電平確定的。因此,本發(fā)明實施例將邏輯電路的I/O引腳作為調(diào)試點,從而得到邏輯電路I/O引腳的電平。客戶端210進一步根據(jù)從服務器220接收的I/O引腳電平生成時序圖,或者真值表,作為定位故障依據(jù)。當然,還可以對I/0引腳電平進行統(tǒng)計,生成波形圖。在實際中,服務器220與被調(diào)試設備230都具有串行接口,而且通過串行傳輸線相連。因此,較佳地,被調(diào)試設備230中的已有串行接口與調(diào)試點相連,那么,服務器220與調(diào)試點之間就形成了串行接口提供的傳輸通道。串行接口中的傳輸通道是有方向的,本發(fā)明是從調(diào)試點獲取電平,因此需要采用串行接口提供的輸入通道。表1示出了9針的RS232串行接口中各引腳的定義和引腳對應傳輸通道的方向。<table>tableseeoriginaldocumentpage0</column></row><table>表1如表1所示,串行接口包括9個引腳,其中,RXD引腳、DCD引腳、DSR引腳、CTS引腳和RI引腳為提供輸入通道的輸入引腳,提供的輸入通道分別為RXD信號通道、DCD信號通道、DSR信號通道、CTS信號通道和RI信號通道,但是RXD信號通道用于傳輸數(shù)據(jù),經(jīng)常被占用,因此,采用DCD信號通道、DSR信號通道、CTS信號通道和RI信號通道作為獲取調(diào)試點電平的通道。在實際中,采用其它形式的通信接口提供的輸入通道與調(diào)試點相連,也可以完成調(diào)試點電平的讀取,例如并行接口、網(wǎng)絡接口或I2C總線接口提供的輸入通道。fC是一種總線接口,是Inter-IC的縮寫。對于并行接口來說,采用的輸入通道為除RXD信號通道、TXD信號通道和GND信號通道之外的輸入通道。當然,釆用物理傳輸線將服務器220與調(diào)試點相連也可以實現(xiàn)調(diào)試點電平的讀取。下面結合附圖并舉實施例,對本發(fā)明進行詳細描述。以下實施例中均以串口中的DCD信號通道、DSR信號通道、CTS信號通道和RI信號通道作為獲取調(diào)試點電平的通道,而且,被調(diào)試設備中邏輯電路的調(diào)試點為I/O引腳。該邏輯電路可以是一般的邏輯電路,也可以是現(xiàn)場可編程門陣列(FPGA,F(xiàn)ieldProgrammableGateArray),復雜可編程邏輯器件(CPLD,ComplexProgrammableLogicDevice)等。客戶端210與服務器220通過Telnet協(xié)議進行通信。Telnet協(xié)議是TCP/IP協(xié)議族中的一員,是Internet遠程登錄服務的標準協(xié)議。應用Telnet協(xié)議,調(diào)試方以客戶端的角色登錄調(diào)試服務設備。實施例一圖3為本發(fā)明實施例一中遠程調(diào)試系統(tǒng)的結構圖。如圖3所示,該系統(tǒng)包括客戶端210、服務器220和被調(diào)試設備230??蛻舳?10和服務器220之間基于TCP/IP協(xié)議進行通信。其中,圖3中的客戶端210具體包括調(diào)試指令生成單元211和通信單元212:調(diào)試指令生成單元211,用于生成調(diào)試指令,發(fā)送給通信單元212;本實施例中該調(diào)試指令為讀取邏輯電路231中I/O引腳電平的讀取指令。通信單元212,用于建立與服務器之間的通信通道,通過建立的通信通道,將調(diào)試指令發(fā)送給服務器220,從服務器220接收調(diào)試指令執(zhí)行結果。圖3中的服務器220具體包括服務單元221和串行物理接口223。被調(diào)試設備230包括串行物理接口232和邏輯電if各231。其中,串行物理接口223的輸入引腳與服務單元221相連,串行物理接口232的輸入引腳通過串行傳輸線與串行物理接口232的輸入引腳對應相連,串行物理接口232的輸入引腳與邏輯電路231的I/O引腳相連。經(jīng)過以上連接,服務單元221通過串行物理接口221、串行傳輸線和串行物理接口232連接到I/O引腳,形成電氣通^各,即輸入通道,一個I/O引腳對應一個電氣通^各。本實施例中,串行物理接口的輸入引腳包括DCD引腳、DSR引腳、CTS引腳和RI引腳。在實際中,根據(jù)邏輯電路231中待調(diào)試I/O引腳的數(shù)量,可以選擇DCD引腳、DSR引腳、CTS引腳和RI引腳中一個或任意組合作為提供輸入通道的輸入引腳。其中,服務單元221,用于接收來自客戶端210的讀取指令,從串行物理接口223的輸入引腳對應的輸入通道上讀取電平,作為I/0引腳電平,并返回給客戶端210。由于本實施例中邏輯電路231包括4個I/O引腳,因此在讀取前,還要根據(jù)讀取指令確定待讀取電平的當前1/0引腳,根據(jù)保存在服務單元221的I/O引腳與輸入通道的對應關系,從與當前I/0引腳對應的輸入通道讀取電平。串行4妄口223是符合串行通信協(xié)議的物理接口,本實施例采用9針的串行接口。被調(diào)試設備230中的邏輯電路231是調(diào)試對象,本實施例中,預先確定待調(diào)試點包括I/01引腳、1/02引腳、1/03引腳和1/04引腳。如圖3所示,1/01引腳、1/02引腳、1/03引腳和I/04引腳分別與串行物理接口232的DCD引腳,DSR引腳,CTS引腳和RI引腳相連。當需要調(diào)試的1/0數(shù)量大于4個時,可以在邏輯電路231的待調(diào)試I/0引腳處設置插孔,串行物理接口232的輸入引腳設置插孔,I/O引腳與輸入引腳之間采用可以拆卸傳輸線相連。I/O引腳與輸入引腳之間的對應關系可以靈活選擇,在選定后需要通知服務單元221。該選定對應關系的工作可以由人工完成,然后通過J良務單元221提供的用戶接口將對應關系發(fā)送給服務單元221,同時由服務單元221通過網(wǎng)絡通知客戶端210。本實施例中,客戶端210和服務器220可以均為PC機。在實現(xiàn)時,也可以將服務器220作為內(nèi)嵌在被調(diào)試設備230中的功能模塊,那么服務器220需要包括具有網(wǎng)絡通信功能的服務單元221,服務單元221直接通過物理連接導線與調(diào)試點相連,獲取調(diào)試點電平。下面對本實施例的遠程調(diào)試系統(tǒng)工作原理進行描述。圖4為圖3中服務器220的處理流程圖。如圖4所示,該方法包括以下步驟步驟401:服務器接收客戶端通過網(wǎng)絡發(fā)送的讀取指令。本實施例中客戶端通過Telnet協(xié)議遠程登錄服務器,從而與服務器通信。本步驟中,客戶端啟動裝載的Telnet協(xié)議客戶程序,采用保存在自身的服務器IP地址和域名與服務器建立連接;接收用戶輸入的登錄名和口令和調(diào)試指令并進行封裝,然后發(fā)送給遠程服務器。其中,登錄名和口令用于服務器對客戶端進行身份驗證,以下省略身份驗證過程。步驟402:服務器根據(jù)所接收的讀取指令,確定待讀取電平的當前I/O引腳,根據(jù)I/O引腳與輸入通道之間的對應關系,讀取與當前I/O引腳對應的豐IT入通道上的電平,作為當前調(diào)試點電平。本步驟中,服務器根據(jù)讀取指令中攜帶的待調(diào)試1/0引腳信號信息,確定當前I/O引腳。參見圖3,在從輸入通道讀取電平時,假設服務單元221接收到讀取邏輯電路231中1/03的電平,此時,服務單元221根據(jù)I/O引腳與串行物理接口223輸入引腳之間的對應關系獲知,1/03對應CTS引腳,那么服務單元221讀取與自身連接的CTS線的電平,作為1/03的電平。步驟403:將當前I/O引腳電平通過網(wǎng)絡發(fā)送給客戶端。至此本流程結束。實施例二本實施例中,客戶端還可以通過服務器從被調(diào)試設備中獲取程序代碼,從而確定程序代碼中的故障,經(jīng)調(diào)試后,將正確的程序代碼發(fā)回被調(diào)試設備。在客戶端向被調(diào)試設備下發(fā)新的程序代碼時,需要客戶端進入在線系統(tǒng)編程(ISP,In-SystemProgramming)才莫式,寫入#斤#呈序石馬后重新啟動。進入ISP模式和重新啟動分別由被調(diào)試設備上的ISP開關引腳和系統(tǒng)復位(RESET)引腳控制。本發(fā)明實施例的遠程調(diào)試系統(tǒng)還可以進一步遠程控制ISP開關引腳和RESET引腳的電平。如果被調(diào)試設備的微型控制單元(MCU),即執(zhí)行程序代碼的控制單元中具有復位電路、ISP控制電路的話,該ISP開關引腳和RESET引腳在被調(diào)試設備的MCU上;如果,用專門的邏輯電路實現(xiàn)RESET或ISP開關的話,邏輯電路中就有ISP開關引腳和RESET引腳。本申請旨在提供一種遠程控制ISP開關、RESET的技術方案,而ISP引腳、RESET引腳在何處不是關鍵。本實施例以ISP開關和RESET在邏輯電路中,且邏輯電路中的ISP開關引腳和RESET引腳為受控點為例進行描述。因此,與實施例一不同之處在于,本實施例中服務器與被調(diào)試設備之間還包括輸出通道和數(shù)據(jù)收發(fā)通道。其中,輸出通道為串行接口的DTR信號傳輸通道和RTS信號傳輸通道,數(shù)據(jù)收發(fā)通道為串行接口的TXD信號通道和RXD信號通道。圖5為本發(fā)明中實施例二中遠程調(diào)試系統(tǒng)的結構示意圖。該遠程調(diào)試系統(tǒng)同樣包括客戶端210、服務器220和被調(diào)試設備230。其中,客戶端210可以采用實施例一客戶端組成結構。不同之處在于,本實施例中,客戶端210中的調(diào)試指令生成單元211進一步生成控制指令,該控制指令用于通知服務器220將邏輯電路231上的受控點電平設置為指定值。本實施例中,受控點為ISP開關引腳和RESET引腳,相應的,控制指令包括ISP開關指令或RESET指令。調(diào)試指令生成單元211,還生成數(shù)據(jù)收發(fā)指令,用于通知服務器220執(zhí)行程序代碼的收發(fā)操作。服務器220包括服務單元221和串行物理接口223;被調(diào)試設備230包括串行物理接口232、邏輯電路231和執(zhí)行程序代碼的控制單元233。其中,服務單元221與串行物理接口223的TXD引腳、RXD引腳、DTR引腳、RTS引腳和CTS引腳相連。串行物理接口223的TXD引腳、RXD引腳、DTR引腳、RTS引腳和CTS引腳與串行物理接口232的對應引腳相連。串行物理接口232中的TXD引腳和RXD引腳與控制單元233相連,DTR引腳與邏輯電路的RESET引腳相連,RTS引腳與邏輯電路的ISP開關引腳相連,CTS引腳與邏輯電路的I/O引腳相連。本實施例中,邏輯電路231中只有一個I/O。其中,服務單元221,用于接收調(diào)試指令,判斷調(diào)試指令類型,如果是讀取1/0電平的讀取指令,則與實施例一相同,讀取當前1/0引腳對應的輸入通道電平。如果調(diào)試指令是控制受控點狀態(tài)的控制指令,則通過輸出通道將受控點電平設置為指定值,本實施例中,如果控制指令為ISP開關指令,則將RTS線上的電平置為指定值,如果控制指令為RESET指令,則將DTR線上的電平設置為指定值。最后,如果調(diào)試指令是數(shù)據(jù)收發(fā)指令,則通過TXD和RXD提供的數(shù)據(jù)收發(fā)通道,進行數(shù)據(jù)收發(fā)操作。服務單元221可以利用數(shù)據(jù)收發(fā)指令從控制單元233獲取程序代碼,向控制單元233下載程序代碼。而控制單元233服務單元221的控制,可以向服務器上傳程序代碼,接收服務器下發(fā)的程序代碼。圖6為圖5中服務器和被調(diào)試設備的詳細結構示意圖。如圖6所示,服務器中服務單元221具體包括調(diào)試服務模塊621、執(zhí)行模塊622和串口控制器623,其中,調(diào)試服務模塊621,用于接收來自客戶端210的調(diào)試指令,判斷調(diào)試指令的類型,如果是讀取指令和控制指令,則發(fā)送給執(zhí)行模塊622;如果是數(shù)據(jù)收發(fā)指令則發(fā)送給串口控制器623。執(zhí)行模塊622,用于接收來自調(diào)試服務模塊621的調(diào)試指令,如果是讀取指令,根據(jù)讀取指令當前1/0引腳,根據(jù)I/0引腳與輸入通道的對應關系,確定當前I/O引腳對應的輸入通道,通過發(fā)送讀取通知通知給串口控制器623,將串口控制器623返回的I/O引腳電平通過調(diào)試服務模塊621返回給客戶端210。如果調(diào)試指令是控制指令,則執(zhí)行模塊622確定當前受控點,根據(jù)受控點與輸出通道的對應關系,確定自身與當前受控點之間的輸出通道,通過發(fā)送控制通知通知給串口控制器623。串口控制器623與串行物理接口223相連,串口控制器623可以采用為現(xiàn)有的8251芯片實現(xiàn),連接時同名引腳對應相連。串口控制器623在接收到執(zhí)行模塊622的讀取通知時,從讀取通知指示的輸入通道上讀取電平,并返回給執(zhí)行模塊622;在接收到執(zhí)行模塊622的控制通知時,將控制通知指示的輸出通道上的電平設置為指定電平值;在接收到調(diào)試服務模塊621的數(shù)據(jù)收發(fā)指令后,通過數(shù)據(jù)收發(fā)通道進行數(shù)據(jù)收發(fā)操作。圖6中的被調(diào)試設備220依然包括串行物理接口232、邏輯電路231和控制單元233,而且這三個組成模塊功能與圖5中的同名模塊相同。在實際中,當串行物理接口232接收信號之后,由于信號電平與被調(diào)試設備上的信號電平有差異,因此需要在串行物理接口232和邏輯電路231之間增加電平轉換裝置632,串行物理接口232與控制單元233之間的信號也采用電平轉換裝置632進行電平轉換處理。此外,控制單元233需要通過串口控制器進行數(shù)據(jù)收發(fā)操作,因此在電平轉換裝置632與控制單元233之間增加串口控制器631,當然也可以采用集成在控制單元233中的串口控制器631。串口控制器處理數(shù)據(jù)收發(fā)指令的過程為已知技術手段,這里不詳述。下面對本實施例的遠程調(diào)試系統(tǒng)工作原理進行描述。圖7為圖5中服務器220的處理流程。如圖7所示,該方法包括步驟701:服務器接收客戶端通過網(wǎng)絡發(fā)送的調(diào)試指令。步驟702:判斷調(diào)試指令的類型,如果是讀取指令則執(zhí)行步驟703;如果是控制指令則執(zhí)行步驟704;如果是數(shù)據(jù)收發(fā)指令則執(zhí)行步驟705。其中,調(diào)試指令的類型可以根據(jù)調(diào)試指令攜帶的指令類型標識確定。例如,讀取指令至少包括區(qū)別標識和I/O引腳名,其中,區(qū)別標識為#;控制指令至少包括區(qū)別標識和受控引腳名,其中,區(qū)別標識為F,受控引腳名為ISP或RESET;數(shù)據(jù)收發(fā)指令至少包括區(qū)別標識和指令內(nèi)容,其中區(qū)別標識為@。步驟703:根據(jù)讀取指令,確定待讀取電平的當前I/O引腳,根據(jù)I/O引腳與輸入通道之間的對應關系,讀取與當前I/O引腳對應的輸入通道上的電平,返回給客戶端。本流程結束。步驟704:根據(jù)控制指令確定當前受控點,通過串行接口提供的自身與當前受控點之間的輸出通道,將當前受控點的電平設置為指定值。本流程結束。步驟705:根據(jù)數(shù)據(jù)收發(fā)指令,通過串行接口提供的數(shù)據(jù)收發(fā)通道執(zhí)行數(shù)據(jù)收發(fā)操作。本流程結束。在實際中,客戶端可以利用以上服務器的操作實現(xiàn)對被調(diào)試設備程序代碼和邏輯電路的調(diào)試。在調(diào)試邏輯電路時,客戶端發(fā)送讀取指令,獲取邏輯電路中調(diào)試點的電平,根據(jù)獲取的電平建立真值表或繪制時序圖;在調(diào)試程序代碼時,首先通過發(fā)送數(shù)據(jù)收發(fā)指令,獲取被調(diào)試設備上的當前程序代碼,在對獲取的當前程序代碼調(diào)試完成后,通過發(fā)送控制指令,將被調(diào)試設備的ISP開關引腳電平置為低電平,從而令被調(diào)試設備進入ISP模式,然后通過發(fā)送數(shù)據(jù)收發(fā)指令將調(diào)試后的程序代碼下載到被調(diào)試設備中,最后通過發(fā)送控制指令,將被調(diào)試設備的RESET引腳置為高電平,從而令被管理設備重啟,以4丸行新的程序代碼。實施例三本實施例中,遠程調(diào)試系統(tǒng)融合現(xiàn)有的GDB調(diào)試工具提供的遠程調(diào)試功能,使得用戶可以從客戶端,通過遠程調(diào)試方式單步執(zhí)行被調(diào)試設備上的程序代碼、設置斷點、查看內(nèi)容等操作。在現(xiàn)有技術中,GDB是GNUsymbolicdebugger的縮寫,是GNU提供的一類調(diào)試工具。GDB提供本地調(diào)試機和調(diào)試代理,本地調(diào)試機和調(diào)試代理在物理上是分離的,調(diào)試代理設置在被調(diào)試設備上,與被調(diào)試設備的控制單元相連,本地調(diào)試機設置在調(diào)試方上。調(diào)試代理之間遵循GDB遠程串口協(xié)議(RSP,RemoteSerialProtocol)進行通信。RSP協(xié)議定義了本地調(diào)試機與調(diào)試代理之間的通信時數(shù)據(jù)包的格式。RSP是一種筒單的,基于ASCII的協(xié)議,它適用于通過串口線、局域網(wǎng)以及其他至少支持半雙工數(shù)據(jù)交換的通信媒體的環(huán)境。RSP協(xié)議的數(shù)據(jù)包封裝格式一般為"$data弁CSUM1CSUM2",其中,$為數(shù)據(jù)包標識,#為分隔符,$和#之間的data是數(shù)據(jù)內(nèi)容,該數(shù)據(jù)內(nèi)容通常是設定的命令符號,例如?指示讀當前系統(tǒng)狀態(tài),g指示讀所有寄存器,E指示GDB出錯;CSUM1和CSUM2是數(shù)據(jù)包的兩個校驗位。本地調(diào)試機用于將命令封裝為符合RSP協(xié)議的數(shù)據(jù)包,然后發(fā)送到被調(diào)試設備上的調(diào)試代理,調(diào)試代理接收數(shù)據(jù)包后,解封裝,并執(zhí)行數(shù)據(jù)包內(nèi)容指示的操作,例如讀寫內(nèi)存、讀寫寄存器、程序暫停(stop)、程序繼續(xù)(continue)等,并向本地調(diào)試機返回操作結果。本實施例中,本地調(diào)試機與調(diào)試代理之間采用串行接口進行通信,而且與調(diào)試邏輯電路的調(diào)試指令共用一個串行接口。圖8為本發(fā)明實施例三中遠程調(diào)試系統(tǒng)的結構示意圖。如圖8所示,該系統(tǒng)包括客戶端210、服務器220和被調(diào)試設備230。其中,客戶端210可以采用實施例一客戶端組成結構。不同之處在于,本實施例中,客戶端210生成的調(diào)試指令不僅包括控制指令和讀取指令,還包括調(diào)試工具指令,即GDB指令。月良務器220包括服務單元221、串行物理接口223和本地調(diào)試機820;被調(diào)試設備230包括串行物理接口232、邏輯電路231、控制單元233和調(diào)試代理830。參見圖8,這些模塊的連接關系為服務單元221與串行物理接口223的DTR、RTS和CTS這三條引腳相連;本地調(diào)試機820與串行物理接口223的TXD和RXD相連;服務單元221與本地調(diào)試機820相連;串行物理接口223與串行物理接口232的對應引腳相連,邏輯電路231與串行物理接口232的DTR、RTS和CTS這三條引腳相連,調(diào)試代理830與串行物理接口232的TXD和RXD引腳相連,控制單元233與調(diào)試代理相連。其中,服務單元221,用于接收調(diào)試指令,判斷調(diào)試指令類型。實施例二中已經(jīng)對調(diào)試指令為讀取指令和控制指令的相應操作進行了詳細描述,這里不再重復。當執(zhí)行指令為GDB指令時,將GDB指令發(fā)送給本地調(diào)試機820。本地調(diào)試機820,按照GDBRSP協(xié)議對GDB指令進行封裝,然后通過串行物理接口223提供的數(shù)據(jù)收發(fā)通道,將封裝后的GDB指令發(fā)送給被調(diào)試設備230;通過數(shù)據(jù)收發(fā)通道從被調(diào)試設備230接收GDB指令處理結果,通過服務單元221返回給客戶端210。圖8中的中空雙箭頭示出了封裝后GDB指令的傳輸通道,該通道由串口的數(shù)據(jù)收發(fā)通道提供。被調(diào)試設備230中調(diào)試代理830在通過數(shù)據(jù)收發(fā)通道接收到GDB指令后,對控制單元233執(zhí)行GDB指令對應的操作,并通過數(shù)據(jù)收發(fā)通道返回執(zhí)行結果。調(diào)試代理830具體如何對控制單元233執(zhí)行GDB指令對應的操作是已知技術手段,這里不詳述。圖8中服務器220的處理流程與圖7示出的流程相似,不同之處在于,服務器接收的調(diào)試指令不包括數(shù)據(jù)收發(fā)指令,而包括GDB指令。在步驟702中判定接收到GDB指令時,執(zhí)行步驟705,此時步驟705為服務器中的本地調(diào)試器將GDB指令進行封裝,然后通過串行接口提供的數(shù)據(jù)收發(fā)通道發(fā)送至被調(diào)試設備,接收被調(diào)試設備返回的GDB指令執(zhí)行結果,再發(fā)送回客戶端。本實施例中,調(diào)試指令的類型仍可以根據(jù)調(diào)試指令攜帶的指令類型標識確定。其中讀取指令和控制指令仍可以采用實施例二所述的格式,本實施例三中的GDB指令包括區(qū)別標識和指令內(nèi)容,其中區(qū)別標識可為$。綜上所述,以上僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。權利要求1.一種調(diào)試方法,其特征在于,該方法包括調(diào)試服務設備接收讀取被調(diào)試設備邏輯電路中調(diào)試點電平的讀取指令,根據(jù)所述讀取指令,通過自身與調(diào)試點之間的物理傳輸通道,讀取調(diào)試點電平。2、如權利要求l所述的方法,其特征在于,所述邏輯電路包括一個以上的調(diào)試點,一條物理傳輸通道連接一個調(diào)試點;所述調(diào)試服務設備根據(jù)所述讀取指令,通過自身與調(diào)試點之間的物理傳輸通道,讀fL調(diào)試點電平為所述調(diào)試服務設備根據(jù)所述讀取指令確定當前調(diào)試點,根據(jù)調(diào)試點與物理傳輸通道之間的對應關系,通過與所述當前調(diào)試點對應的物理傳輸通道,讀取所述當前調(diào)試點電平。3、如權利要求l所述的方法,其特征在于,所述調(diào)試服務設備與調(diào)試點之間的物理傳輸通道為連接調(diào)試服務設備與調(diào)試點的通信接口提供的、從被調(diào)試設備到調(diào)試力良務設備的輸入通道,該輸入通道與調(diào)試點相連。4、如權利要求3所述的方法,其特征在于,所述輸入通道為所述通信接口提供的除數(shù)據(jù)接收通道、數(shù)據(jù)發(fā)送通道、地信號通道之外的輸入通道。5、如權利要求3所述的方法,其特征在于,所述調(diào)試服務設備與所述被調(diào)試設備之間通過串行接口相連;所述輸入通道為數(shù)據(jù)載波檢測DCD信號通道,和/或數(shù)據(jù)設備準備就緒DSR信號通道,和/或清除發(fā)送CTS信號通道,和/或振鈴指示RI信號通道。6、如權利要求l所述的方法,其特征在于,所述調(diào)試點為所述邏輯電路的I/O引腳。7、如權利要求l所述的方法,其特征在于,該方法進一步包括調(diào)試服務設備接收控制被調(diào)試設備中受控點的控制指令;調(diào)試服務設備根據(jù)所述控制指令確定當前受控點,通過自身與所述當前受控點之間的物理傳輸通道,將當前受控點的電平設置為指定值。8、如權利要求7所述的方法,其特征在于,所述調(diào)試服務設備與所述被調(diào)試設備之間通過串行接口相連;調(diào)試服務設備與所述受控點之間的物理傳輸通道為數(shù)據(jù)終端準備就緒DTR通道,和/或請求發(fā)送RTS通道;所述受控點包括被調(diào)試設備中系統(tǒng)在線編程ISP開關引腳和系統(tǒng)復位RESET引肚p。9、如權利要求l所述的方法,其特征在于,該方法進一步包括調(diào)試服務設備接收調(diào)試工具指令;調(diào)試服務設備將調(diào)試工具指令封裝為符合遠程串行協(xié)議RSP協(xié)議的數(shù)據(jù)包,通過遵循RSP協(xié)議的數(shù)據(jù)收發(fā)通道發(fā)送給被調(diào)試設備中的調(diào)試代理,接收調(diào)試代理執(zhí)行調(diào)試工具指令對應的操作后返回的指令執(zhí)行結果。10、如權利要求1或7或9所述的方法,其特征在于,調(diào)試服務設備接收的指令是調(diào)試方設備通過網(wǎng)絡發(fā)送給調(diào)試服務設備的;所述調(diào)試點電平為指令執(zhí)行結果;該方法進一步包括調(diào)試服務設備將得到的指令執(zhí)行結果返回給調(diào)試方設備。11、如權利要求IO所述的方法,其特征在于,所述指令執(zhí)行結果返回給調(diào)試方設備之后,進一步包括調(diào)試方設備根據(jù)作為指令執(zhí)行結果的調(diào)試點電平生成時序圖或真值表。12、一種調(diào)試系統(tǒng),其特征在于,該系統(tǒng)包括調(diào)試服務設備和被調(diào)試設備;所述調(diào)試服務設備通過物理傳輸通道與被調(diào)試設備中邏輯電路的調(diào)試點相連;所述調(diào)試服務設備,用于接收讀取所述邏輯電路中調(diào)試點電平的讀取指令,通過所述物理傳輸通道讀取調(diào)試點電平。13、如權利要求12所述的系統(tǒng),其特征在于,所述被調(diào)試設備包括邏輯電路和第二串行物理接口;所述邏輯電路的調(diào)試點與第二串行物理接口中的輸入引腳相連;所述調(diào)試服務設備包括服務單元和第一串行物理接口;所述第一串行物理接口的輸入引腳通過傳輸線與所述第二串行物理接口的輸入引腳對應相連;所述第一串行物理接口的輸入引腳與所述服務單元相連;所述服務單元,用于根據(jù)所接收的讀取指令,從第一串行物理接口的輸入1腳對應的輸入通道上讀取電平,作為調(diào)試點電平。14、如權利要求13所述的系統(tǒng),其特征在于,所述被調(diào)試設備的邏輯電路包括一個以上的調(diào)試點,不同調(diào)試點與第二串行物理接口中的不同輸入引腳相連;所述服務單元包括調(diào)試服務模塊、執(zhí)行模塊和第一串口控制器,其中,所述調(diào)試服務模塊,用于接收所述讀取指令,并發(fā)送給執(zhí)行模塊,接收執(zhí)行模塊返回的當前調(diào)試點電平;所述執(zhí)行模塊,用于根據(jù)讀取指令確定當前調(diào)試點,根據(jù)調(diào)試點和輸入通道的對應關系,確定當前調(diào)試點對應的輸入通道,通知給第一串口控制器,將串口控制器返回的當前調(diào)試點電平發(fā)送給調(diào)試服務模塊;所述第一串口控制器與第一串行物理接口中的輸入引腳相連,在接收到執(zhí)行模塊的通知時,從通知指示的輸入通道上讀取電平,并返回給所述執(zhí)行模塊。15、如權利要求13所述的系統(tǒng),其特征在于,所述第一串行物理接口和第二串行物理接口中的輸入引腳包括DCD引腳、DSR引腳、CTS引腳和RI引腳中的一個或任意組合;所述調(diào)試點為所述邏輯電if各的I/O引腳。16、如權利要求13所述的系統(tǒng),其特征在于,所述被調(diào)試設備進一步包括電平接受控制的受控點,所述受控點與第二串行物理接口中的輸出引腳相連;所述第二串行物理接口的輸出引腳通過傳輸線與所述第一串行物理接口的輸出引腳對應相連;所述第一串行物理接口的輸出引腳與所述服務單元相連;所述服務單元進一步用于,根據(jù)接收自外部的控制指令,將第一串行物理接口的輸出引腳對應的輸出通道電平設置為指定值。17、如權利要求13所述的系統(tǒng),其特征在于,所述被調(diào)試設備進一步包括調(diào)試代理單元和執(zhí)行被調(diào)試設備的程序代碼的控制單元,所述調(diào)試代理單元與所述第二串行物理接口中的TXD《1腳和RXD《I腳相連;所述調(diào)試代理單元,用于通過所述TXD引腳和RXD引腳對應的數(shù)據(jù)收發(fā)通道接收GDB指令,對控制單元執(zhí)行所述調(diào)試工具指令對應的操作,并通過所述數(shù)據(jù)收發(fā)通道返回執(zhí)行結果;所述第二串行物理接口中的TXD引腳和RXD引腳與第一串行物理接口的TXD引腳和RXD引腳對應相連;所述調(diào)試服務設備進一步包括與所述第一串行物理接口的TXD引腳和RXD引腳相連的本地調(diào)試器,用于接收所述服務單元從外部接收的調(diào)試工具指令時,將調(diào)試工具指令封裝為符合遠程串行協(xié)議RSP協(xié)議的數(shù)據(jù)包,通過第一串行物理接口的TXD引腳和RXD引腳對應的數(shù)據(jù)收發(fā)通道發(fā)送給被調(diào)試設備,將被調(diào)試設備返回的調(diào)試工具指令執(zhí)行結果作為指令執(zhí)行結果發(fā)送給所述服務單元;所述服務單元用于,將接收自外部的控制指令發(fā)送給本地調(diào)試器,接收本地調(diào)試器返回的指令執(zhí)行結果。18、如權利要求13、16或17所述的系統(tǒng),其特征在于,該系統(tǒng)進一步包括調(diào)試方設備;所述調(diào)試服務設備接收的指令是該調(diào)試方設備通過網(wǎng)絡發(fā)送的;所述服務單元進一步用于,將調(diào)試點電平作為指令執(zhí)行結果;在獲取到指令執(zhí)行結果后,返回給調(diào)試方設備。全文摘要本發(fā)明公開了一種調(diào)試方法,該方法包括調(diào)試服務設備接收讀取被調(diào)試設備邏輯電路中調(diào)試點電平的讀取指令,根據(jù)所述讀取指令,通過自身與調(diào)試點之間的物理傳輸通道,讀取調(diào)試點電平。本發(fā)明還公開了一種調(diào)試系統(tǒng),該系統(tǒng)中的調(diào)試服務設備通過物理傳輸通道與被調(diào)試設備中邏輯電路的調(diào)試點相連;調(diào)試服務設備在接收讀取指令后,通過物理傳輸通道讀取所述讀取指令指示的被調(diào)試點電平。使用本發(fā)明能夠獲取邏輯電路的狀態(tài),進而確定邏輯電路故障。文檔編號H04L12/24GK101267350SQ20081009463公開日2008年9月17日申請日期2008年4月24日優(yōu)先權日2008年4月24日發(fā)明者楊興華,王泰運申請人:凌陽科技股份有限公司;北京北陽電子技術有限公司