專利名稱:電子裝置的測試與除錯的系統(tǒng)與方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于一種電子裝置的測試及除錯,特別是一種使用單一連結(jié)端口進(jìn)行電子裝置的測試與除錯的系統(tǒng)與方法。
背景技術(shù):
諸如光驅(qū)、手機(jī)、個人數(shù)字助理等電子裝置,通常通過一個測試主機(jī)(testhost)進(jìn)行測試與除錯,如個人計算機(jī)。測試主機(jī)通常配備有兩個連接端口(connection ports),其中一個用以產(chǎn)生測試命令,另一個用以除錯。例如,測試主機(jī)可通過一個并行端口(parallel port)來發(fā)送測試命令給電子裝置,以及通過一個串行端口(serial port)來接收測試結(jié)果、錯誤信息以及執(zhí)行記錄(execution logs)。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種使用單一連接端口來進(jìn)行電子裝置的測試與除錯的方法。測試主機(jī)與電子裝置是通過一個連結(jié)端口來連結(jié)。本方法包括下列步驟。本方法始于當(dāng)測試主機(jī)處于指令模式。測試主機(jī)發(fā)出測試指令至電子裝置。于電子裝置執(zhí)行測試指令期間,測試主機(jī)接收相應(yīng)于測試指令的一系列回復(fù)信號。當(dāng)測試主機(jī)檢測出回復(fù)信號為執(zhí)行記錄時,測試主機(jī)轉(zhuǎn)換至除錯模式來監(jiān)控執(zhí)行測試指令的電子裝置。當(dāng)測試主機(jī)從回復(fù)信號中提取出測試結(jié)果時,測試主機(jī)轉(zhuǎn)換至指令模式來接收測試結(jié)果以及發(fā)出另一個測試指令或停止測試及除錯。
本發(fā)明的另一個目的是提供一種應(yīng)用于測試與除錯電子裝置的測試主機(jī)的系統(tǒng)。本系統(tǒng)包括一個連接端口、一個狀態(tài)機(jī)(state machine)以及一個處理單元。連結(jié)端口用以建立起電子裝置的聯(lián)結(jié)。狀態(tài)機(jī)耦接于連結(jié)端口,用以控制測試主機(jī)于指令模式與除錯模式間作轉(zhuǎn)換。處理單元耦接于狀態(tài)機(jī)器以及連結(jié)端口,當(dāng)測試主機(jī)處于指令模式時,用以發(fā)出多個測試指令,分析所接收到的多個測試結(jié)果,以及當(dāng)測試主機(jī)處于除錯模式時,通過監(jiān)控所接收到的多個執(zhí)行記錄來為電子裝置進(jìn)行除錯。
本發(fā)明所提出的這些目的,可由熟習(xí)此技藝人士在閱讀了以下較佳實施例的圖標(biāo)與說明后,據(jù)以了解。
圖1為依據(jù)本發(fā)明實施例的測試主機(jī)的測試與除錯系統(tǒng)以及電子裝置示意圖;圖2為范例的測試信息示意圖;圖3a及圖3b為由主機(jī)所接收的回復(fù)信號的范例數(shù)據(jù)組織示意圖;圖4為范例的回復(fù)信號示意圖;圖5為實施例的測試有限狀態(tài)機(jī)的示意圖;圖6a、圖6b與圖6c為依據(jù)本發(fā)明實施例的電子裝置的測試與除錯方法的方法流程圖。
符號說明10~測試與除錯系統(tǒng);11~測試主機(jī);13~電子裝置; 21~處理單元;22~存儲器;23~儲存裝置;24~輸出裝置; 25~輸出/輸入緩沖區(qū);27~狀態(tài)機(jī);111、131~連接端口;30~測試信息; 31~檢驗和;33~標(biāo)題頭;35~測試命令;41~系統(tǒng)記錄; 41a~執(zhí)行記錄標(biāo)題頭;
41b~系統(tǒng)記錄內(nèi)容;43a~測試結(jié)果標(biāo)題頭;43b~測試結(jié)果內(nèi)容;811、821~執(zhí)行記錄的標(biāo)題頭;813、823、833、843~執(zhí)行記錄內(nèi)容;851~測試結(jié)果標(biāo)題頭;853~測試結(jié)果內(nèi)容;S1~命令模式; S3~除錯模式;S5~錯誤控制模式; S7~停止?fàn)顟B(tài);S611、S613、…、S623~方法步驟;S631、S641、S643、S645、S651、S653、S655、S685~方法步驟;S661、S66 3、S671、S67 3、S681、S68 3~方法步驟。
具體實施例方式
圖1為依據(jù)本發(fā)明實施例的測試主機(jī)11的測試與除錯系統(tǒng)10示意圖,以及電子裝置13。
電子裝置13可使用于汽車、飛機(jī)、火車、太空運輸工具、機(jī)器設(shè)備、照相機(jī)、數(shù)字影音記錄器(digital video recorder,DVR)、消費性或辦公室設(shè)備、手機(jī)、個人數(shù)字化助理(PDA)或其它手持式裝置,以及機(jī)器人或玩具,通過測試主機(jī)11來進(jìn)行測試與除錯。電子裝置13通過連接端口131連接于測試主機(jī)11,并且通過連接端口131從測試主機(jī)11接收信號,或回復(fù)信號至測試主機(jī)11。
測試主機(jī)11發(fā)出測試指令至電子裝置13,并且通過諸如連接端口111的單一連結(jié)端口來接收執(zhí)行記錄與測試結(jié)果。連接端口111可為一個串行端口(serial port)或并行端口(parallel port)等。串行端口諸如RS232、RS242、通用序列總線(Universal Serial Bus,USB)、電機(jī)和電子工程師協(xié)會(IEEE)1394端口等。并行端口諸如整合式驅(qū)動電子接口(Integrated DriveElectronics,IDE)、小型計算機(jī)系統(tǒng)接口(Small Computer System Interface,SCSI)、電機(jī)和電子工程師協(xié)會(IEEE)1284端口等。
于一個實施例中,測試指令為諸如執(zhí)行最適功率校正(optimal powercalibration,OPC)、于光盤上寫入數(shù)據(jù)或讀取數(shù)據(jù)等指令。于另一個實施例中,測試指令的細(xì)節(jié)端視被測試的是何種電子裝置而定。
測試主機(jī)11包括測試與除錯系統(tǒng)10、存儲器22、儲存裝置23以及輸出裝置24。測試與除錯系統(tǒng)10包括連接端口111、處理單元21、輸出/輸入緩沖區(qū)(I/O buffer)25以及狀態(tài)機(jī)(state machine)27。
處理單元21耦接于存儲器22、儲存裝置23、輸出裝置24以及狀態(tài)機(jī)27。其或許存在唯一或多個處理單元21,以致使計算機(jī)的處理器包含一單一中央處理單元(central processing unit,CPU)、一微處理單位(MPU)或者是關(guān)連于平行運算環(huán)境(parallel processing environment)的多個處理單元。
存儲器22于較佳情況下為一動態(tài)存取存儲器(RAM),但亦可為一只讀存儲器(ROM)或一閃存(flash ROM)。存儲器22于較佳情況下儲存可由處理單元21執(zhí)行的電子裝置測試及除錯功能的程序模塊。一般而言,程序模塊包含常序(routine )、程序(program)、對象(object)、組件(component)等,用以執(zhí)行特定功能或?qū)嵶魈囟ǔ橄髷?shù)據(jù)型態(tài)(abstract data type)。除此之外,熟習(xí)此技藝人士也可將本發(fā)明實施于其它計算機(jī)系統(tǒng)樣態(tài)(configuration)上,例如,手持式設(shè)備(hand-held devices)、多處理器系統(tǒng)、以微處理器為基礎(chǔ)或可程序化的消費性電子產(chǎn)品(microprocessor-based o programmableconsumer electronics)、網(wǎng)絡(luò)計算機(jī)、迷你計算機(jī)、大型主機(jī)以及類似的設(shè)備。本發(fā)明亦可以實施于分布式運算環(huán)境,其運算工作被一連結(jié)于通訊網(wǎng)路的遠(yuǎn)程處理設(shè)備所執(zhí)行。在分布式環(huán)境中,程序模塊可同時存在于本地以及遠(yuǎn)程記憶儲存裝置中,而遠(yuǎn)程訪問架構(gòu)包含分布式組件對象模型(DCOM)、通用對象請求中介架構(gòu)(CORBA)、網(wǎng)頁組件(web objects)、網(wǎng)絡(luò)服務(wù)(WebServices)或其它類似架構(gòu)。
儲存裝置23可為一硬盤裝置、磁盤裝置、光盤裝置、可攜式儲存裝置或非揮發(fā)存儲器裝置(nonvolatile memory drive)。這些裝置以及其相關(guān)的計算機(jī)可讀取媒體(computer-readable media)提供計算機(jī)可讀取指令、數(shù)據(jù)結(jié)構(gòu)、或程序模塊的非揮發(fā)儲存空間(nonvolatile storage)。
狀態(tài)機(jī)27用以控制測試主機(jī)于指令模式、除錯模式及錯誤控制(errorcontrol)模式間的狀態(tài)的轉(zhuǎn)換。當(dāng)測試主機(jī)處于指令模式時,處理單元21取得測試程序中的一個測試指令(test instruction)并且將所取得的測試指令轉(zhuǎn)換為測試命令(test command),一般而言系可由電子裝置13辨認(rèn)出的硬件指令碼。
所轉(zhuǎn)換出的測試命令,于較佳的情況下兼容于公知的整合式驅(qū)動電子接口/AT封包連結(jié)接口(AT Attachment Packet Interface,IDE/ATAPI)規(guī)格,特別是將本發(fā)明應(yīng)用于光儲存系統(tǒng)時。處理單元21接著發(fā)出含有轉(zhuǎn)換出的測試命令的測試信息、含有由測試主機(jī)11所提供的測試信息的相關(guān)信息的數(shù)據(jù)頭(header)、以及一個檢驗和(checksum)。此檢驗和是用以確保測試信息可正確無誤的被傳送。
圖2為范例的測試信息30示意圖,測試信息包括二字節(jié)的檢驗和31、一字節(jié)的標(biāo)題頭33以及十二字節(jié)的測試命令35。處理單元21經(jīng)由輸出/輸入緩沖區(qū)25與連接端口111來傳送產(chǎn)生的測試信息至電子裝置13。電子裝置13接著依循接收到的測試信息的順序來執(zhí)行其中的測試命令。
于執(zhí)行測試指令期間,電子裝置13產(chǎn)生包含執(zhí)行記錄(execution logs)以及相應(yīng)于所傳遞的測試指令的測試結(jié)果的一系列回復(fù)信號。所回復(fù)的信號(可編譯為二位碼)接著經(jīng)由連接端口111與輸出/輸入緩沖區(qū)25由測試主機(jī)11來接收。
圖3a及圖3b為由主機(jī)所接收的回復(fù)信號的范例數(shù)據(jù)組織示意圖。參考圖3a,于測試命令執(zhí)行期間,產(chǎn)生一或多個執(zhí)行記錄41,各包括執(zhí)行記錄標(biāo)題頭41a及系統(tǒng)記錄內(nèi)容41b,以二位碼來表示。再者,于執(zhí)行測試命令后產(chǎn)生測試結(jié)果43,包括測試結(jié)果標(biāo)題頭43a及測試結(jié)果內(nèi)容43b,以二位碼來表示。參考圖3b,于該例中,于測試命令執(zhí)行期間沒有產(chǎn)生任何執(zhí)行記錄,并且于執(zhí)行測試命令后只有一個測試結(jié)果43產(chǎn)生。執(zhí)行記錄標(biāo)題頭41a與測試結(jié)果標(biāo)題頭43a的長度可為固定,例如為一字節(jié)。執(zhí)行記錄標(biāo)題頭41a包括預(yù)先設(shè)定的數(shù)碼,例如’0x80’至’0x8F’,代表一個執(zhí)行記錄的開始點。然而,執(zhí)行記錄可使用固定長度或變動長度來產(chǎn)生。當(dāng)執(zhí)行記錄的長度是變動的,執(zhí)行記錄標(biāo)題頭41a中可還包括系統(tǒng)記錄內(nèi)容41b的長度信息。例如,其中的數(shù)碼’0x83’代表跟隨在執(zhí)行記錄標(biāo)題頭41a之后的系統(tǒng)記錄內(nèi)容41b的長度為三字節(jié)。測試結(jié)果標(biāo)題頭43a,例如’0x0C’,代表一個測試結(jié)果的開始點。通常,測試結(jié)果內(nèi)容43b的長度隨著測試命令的不同而有所不同,并且于測試命令傳送前預(yù)先設(shè)定。測試結(jié)果內(nèi)容43b包括該測試命令的執(zhí)行是成功或失敗的執(zhí)行狀態(tài)。測試結(jié)果內(nèi)容43b亦可包括測試命令已成功執(zhí)行時的回復(fù)數(shù)據(jù),或代表測試命令執(zhí)行失敗的一或多個錯誤信息。
詳細(xì)的測試結(jié)果與執(zhí)行記錄的提取實施例描述如下。圖4為范例的回復(fù)信號示意圖。假設(shè)數(shù)碼’0x80’至’0x8F’是預(yù)先定義相應(yīng)于執(zhí)行記錄,數(shù)碼’0x0C’預(yù)先定義相應(yīng)于測試結(jié)果。而不相關(guān)的數(shù)碼區(qū)段,例如”0x00 00 00’或其它未被定義的數(shù)碼會被跳過。
執(zhí)行記錄的標(biāo)題頭811”0x82”,代表接續(xù)的二字節(jié)的內(nèi)容”0x75 F8”為執(zhí)行記錄內(nèi)容813。所以,執(zhí)行記錄的標(biāo)題頭821”0x83”,代表接續(xù)的三字節(jié)的內(nèi)容”0x24 17 2E”為執(zhí)行記錄內(nèi)容823。同樣地,執(zhí)行記錄內(nèi)容833與843各連屬于”0x82”與”0x84”的標(biāo)題頭。之后,決定其相應(yīng)于一個測試結(jié)果的標(biāo)題頭851”0x0C”。假設(shè)相應(yīng)于一個特定測試命令的測試結(jié)果內(nèi)容的長度是六字節(jié),則取得的測試結(jié)果內(nèi)容853為”0x35 26 77 34 22 22”。
參考圖1,處理單元21從輸出/輸入緩沖區(qū)25取得一系列的二位碼,發(fā)現(xiàn)其中所包含的預(yù)先定義的數(shù)碼來找出執(zhí)行記錄與測試結(jié)果標(biāo)題頭,例如41a與43a,以及提取出系統(tǒng)記錄內(nèi)容與測試結(jié)果內(nèi)容,例如41b與43b。
在提取執(zhí)行記錄與測試結(jié)果期間,處理單元21反復(fù)地從輸出/輸入緩沖區(qū)25中的回復(fù)信號取得檢測碼區(qū)段,直到輸出/輸入緩沖區(qū)25清空,或已提取到一個測試結(jié)果為止。處理單元檢查檢測碼區(qū)段是否包含相應(yīng)于一個執(zhí)行記錄或一個測試結(jié)果的預(yù)先定義數(shù)碼。若檢測碼區(qū)段中包含了相應(yīng)于一個執(zhí)行記錄的預(yù)先定義數(shù)碼,處理單元21從回復(fù)信號中取得既定長度的系統(tǒng)記錄內(nèi)容區(qū)段,當(dāng)做系統(tǒng)記錄內(nèi)容41b。例如,假設(shè)執(zhí)行記錄標(biāo)題頭41a中的最后四位表示系統(tǒng)記錄長度(以字節(jié)為單位),當(dāng)取得的檢測碼區(qū)段為’0x83’時,處理單元21取得緊接于檢測碼區(qū)段后的三字節(jié)的回復(fù)信號的系統(tǒng)記錄碼區(qū)段。
所取得的系統(tǒng)記錄內(nèi)容41b更可轉(zhuǎn)換為特定型式的信息,例如各種類型的系統(tǒng)記錄字符串,其可為操作人員所辨認(rèn)。相應(yīng)于取得的系統(tǒng)記錄內(nèi)容41b的轉(zhuǎn)換信息可儲存于存儲器22或儲存裝置23中(如圖1所示),用以進(jìn)一步進(jìn)行除錯,或可通過輸出裝置24(如圖1所示)來顯示于屏幕上。
若檢測碼區(qū)段包含相應(yīng)于一個測試結(jié)果的預(yù)先定義數(shù)碼,處理單元21可從回復(fù)信號中取得預(yù)先決定長度的結(jié)果碼區(qū)段,當(dāng)作相應(yīng)于所傳送的測試命令的測試結(jié)果內(nèi)容43b。
處理單元21接著借由檢視取得的測試結(jié)果內(nèi)容43b的執(zhí)行狀態(tài),來決定所傳送的測試命令的執(zhí)行是否成功或失敗。例如,結(jié)果內(nèi)容43b的第一個字節(jié)可用來代表執(zhí)行狀態(tài),如’0x00’表示測試命令已成功地執(zhí)行,’0x01’則代表測試命令執(zhí)行失敗。若測試命令已成功地執(zhí)行,取得測試程序中的下一個測試指令用以繼續(xù)進(jìn)行后續(xù)測試。若測試命令執(zhí)行失敗,可執(zhí)行一個錯誤控制程序。錯誤控制程序可再次傳送所產(chǎn)生的測試信息至電子裝置13。于經(jīng)過一或多次重傳,卻還無法接收到指出其中的測試命令的執(zhí)行為成功的測試結(jié)果時,儲存一個錯誤信息至存儲器22或儲存裝置23中,或可經(jīng)由輸出裝置24來顯示于屏幕上。
若檢測碼區(qū)段中未包含任何執(zhí)行記錄或測試結(jié)果的預(yù)先定義數(shù)碼,接著從輸出/輸入緩沖區(qū)25取得回復(fù)信號中的下一個字節(jié)的新檢測碼區(qū)段并且加以處理。404一個測試有限狀態(tài)機(jī)(finites tate machine,F(xiàn)SM)被寫入于程序模塊中(例如防火墻),或?qū)嵶鳛闋顟B(tài)機(jī)27。圖5為實施例的測試有限狀態(tài)機(jī)的示意圖,包括四個狀態(tài),如命令模式S1、除錯模式S3、錯誤控制模式S5以及停止?fàn)顟B(tài)S7。可參考下列方法的實施例的詳細(xì)描述來更了解測試有限狀態(tài)機(jī)的作用。
圖6a、圖6b與圖6c為依據(jù)本發(fā)明實施例的電子裝置的測試與除錯方法的方法流程圖。本方法的實施例初始于命令模式S1(如圖5所示),并且命令模式S1中包含步驟S611至S617以及S673的動作(如圖6a、圖6b與圖6c所示),用以產(chǎn)生及傳送測試指令的測試信息,并且從電子裝置13中接收測試結(jié)果。如步驟S611,取得于測試程序中的測試指令。如步驟S613,將取得的測試指令轉(zhuǎn)換為測試命令,通常為硬件指令碼。如步驟S615,產(chǎn)生測試信息,包括轉(zhuǎn)換的測試命令、標(biāo)題頭與檢驗和,此標(biāo)題頭包含這個測試信息中包含欲被執(zhí)行的測試命令的信息,范例測試信息如圖2所示。如步驟S617,傳送所產(chǎn)生的測試信息至電子裝置13。需注意的是,于測試信息傳送的當(dāng)時或之前,預(yù)先決定相應(yīng)于產(chǎn)生的測試命令的回復(fù)測試結(jié)果的長度。
如步驟S621,從回復(fù)信號取得檢測碼區(qū)段。需注意的是,回復(fù)信號于較佳的情況下存于輸出/輸入緩沖區(qū)25中(如圖1所示)。如步驟S623,決定檢測碼區(qū)段是否包含相應(yīng)于一個執(zhí)行記錄或一個測試結(jié)果的預(yù)先定義數(shù)碼,若是,流程進(jìn)行至步驟S61,若否,退回至步驟S621。步驟S62與S623可反復(fù)地執(zhí)行以跳過不相關(guān)的碼區(qū)段。
如步驟S631,決定包含于檢測碼區(qū)段的數(shù)碼是否相應(yīng)于一個執(zhí)行記錄或一個測試結(jié)果。若此數(shù)碼相應(yīng)于一個執(zhí)行記錄,流程進(jìn)行至步驟S641,若否,至步驟S651。需注意的是,當(dāng)相應(yīng)于一個執(zhí)行記錄的預(yù)先定義數(shù)碼于命令模式S1下被檢測到時,有限狀態(tài)機(jī)從命令模式S1轉(zhuǎn)換為除錯模式S3(如圖5所示)。除錯模式S3包含如步驟S631至S645的行動。如步驟S641,決定執(zhí)行記錄內(nèi)容的長度。當(dāng)所有的執(zhí)行記錄都以既定的長度產(chǎn)生時,則從回復(fù)信號中取得既定長度的系統(tǒng)記錄內(nèi)容區(qū)段。反之,當(dāng)執(zhí)行記錄的長度為變動的長度時,從檢測碼區(qū)段中取得系統(tǒng)記錄長度。如步驟S645,儲存相應(yīng)于取得的系統(tǒng)記錄內(nèi)容的信息于存儲器22或儲存裝置23中(如圖1所示),或經(jīng)由輸出裝置24(如圖1所示)顯示于屏幕上。在此步驟,取得的系統(tǒng)記錄內(nèi)容41b可更轉(zhuǎn)換為特定類型的數(shù)據(jù),例如系統(tǒng)記錄字符串,并且其可為操作人員所辨認(rèn)。
如步驟S651,提供相應(yīng)于傳送的測試命令的測試結(jié)果的長度。需注意的是,當(dāng)相應(yīng)于一個測試結(jié)果的預(yù)先定義數(shù)碼于除錯模式S3下被檢測到時,有限狀態(tài)機(jī)從除錯模式S3轉(zhuǎn)換為命令模式S1(如圖5所示)。如步驟S653,從回復(fù)信號取得所提供的長度的結(jié)果碼區(qū)段,作為測試結(jié)果內(nèi)容43b(如圖3a或圖3b所示)。如步驟S655,取得測試結(jié)果內(nèi)容43b中的執(zhí)行狀態(tài)。如步驟S661,借由檢視取得的執(zhí)行狀態(tài),決定是否已成功執(zhí)行測試命令。若是,流程進(jìn)行至步驟S663,若否,至步驟S681。當(dāng)測試命令的執(zhí)行失敗時,有限狀態(tài)機(jī)從命令模式S1轉(zhuǎn)換為錯誤控制模式S5(如圖4所示)。
如步驟S663,儲存相應(yīng)于取得的測試結(jié)果內(nèi)容的信息于存儲器22或儲存裝置23中(如圖1所示),或經(jīng)由輸出裝置24(如圖1所示)顯示于屏幕上。在此步驟,取得的測試結(jié)果內(nèi)容43b可轉(zhuǎn)換為特定類型的信息,例如結(jié)果信息、執(zhí)行報表、回復(fù)數(shù)據(jù)表等,并且其可為操作人員所辨認(rèn)。
如步驟S671,決定測試程序中的所有測試指令是否已執(zhí)行完成。若是,整個流程結(jié)束,若否,流程進(jìn)行至步驟S673。當(dāng)所有測試指令執(zhí)行完成時,測試有限狀態(tài)機(jī)從命令模式S1轉(zhuǎn)換為停止?fàn)顟B(tài)S7(如圖4所示)。當(dāng)所有測試指令未執(zhí)行完時,取得測試程序中的下一個測試指令。
如步驟S681,決定重傳次數(shù)是否達(dá)到預(yù)先設(shè)定的初始設(shè)定值。若是,則流程進(jìn)行至步驟S683,若否,至步驟S685。如步驟S683,儲存錯誤信息于存儲器22或儲存裝置23中(如圖1所示),或經(jīng)由輸出裝置24(如圖1所示)顯示于屏幕上。當(dāng)重傳次數(shù)未達(dá)到預(yù)先設(shè)定的初始設(shè)定值時,有限狀態(tài)機(jī)從錯誤控制模式S5轉(zhuǎn)換為命令模式S1(如圖4所示)。當(dāng)重傳次數(shù)達(dá)到預(yù)先設(shè)定的初始狀態(tài)值時,有限狀態(tài)機(jī)從錯誤控制模式S5轉(zhuǎn)換為停止?fàn)顟B(tài)S7(如圖4所示)。如步驟S685,再次傳送所產(chǎn)生的測試信息至電子裝置13(如圖1所示),因而再次驅(qū)動電子裝置13來執(zhí)行同樣的測試命令。測試信息以及回復(fù)信號,于較佳的情況下,通過一個諸如連接端口111(如圖1所示)的單一連接端口來傳送與接收。
本發(fā)明的方法與系統(tǒng),或特定型態(tài)或其部分,可以以程序代碼的型態(tài)包含于實體媒體,如軟盤、光盤片、硬盤、或是任何其它機(jī)器可讀取(如計算機(jī)可讀取)儲存媒體,其中,當(dāng)程序代碼被機(jī)器,如計算機(jī)加載且執(zhí)行時,此機(jī)器變成用以參與本發(fā)明的裝置。本發(fā)明的方法與裝置也可以以程序代碼型態(tài)通過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態(tài)進(jìn)行傳送,其中,當(dāng)程序代碼被機(jī)器,如計算機(jī)接收、加載且執(zhí)行時,此機(jī)器變成用以參與本發(fā)明的裝置。當(dāng)在一般用途處理單元(general-purpose processing unit)實作時,程序代碼結(jié)合處理器提供一操作類似于應(yīng)用特定邏輯電路的獨特裝置。
雖然本發(fā)明已以較佳實施例揭露如上,然其并非用以限定本發(fā)明,任何熟悉此項技藝者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可做少許更動與潤飾,因此本發(fā)明的保護(hù)范圍當(dāng)視權(quán)利要求所界定者為準(zhǔn)。
權(quán)利要求
1.一種電子裝置的測試與除錯方法,應(yīng)用于測試一電子裝置的一測試主機(jī)中,上述測試主機(jī)與上述電子裝置通過一連結(jié)端口來連結(jié),上述方法包括激活一指令模式;發(fā)出一測試指令至上述電子裝置;于上述電子裝置執(zhí)行上述測試指令時,接收相應(yīng)于上述測試指令的一系列回復(fù)信號;當(dāng)檢測出上述回復(fù)信號為一執(zhí)行記錄時,轉(zhuǎn)換至一除錯模式來監(jiān)控執(zhí)行上述測試指令的上述電子裝置;以及當(dāng)從上述回復(fù)信號中提取出一測試結(jié)果時,轉(zhuǎn)換至一指令模式來接收上述測試結(jié)果以及發(fā)出另一測試指令或停止測試與除錯。
2.如權(quán)利要求1所述的電子裝置的測試與除錯方法,其中上述回復(fù)信號包括多個數(shù)據(jù)頭與數(shù)據(jù)的集合,每一數(shù)據(jù)頭相應(yīng)于數(shù)據(jù)的一長度。
3.如權(quán)利要求2所述的電子裝置的測試與除錯方法,其中上述檢測步驟還包括當(dāng)檢測出上述回復(fù)信號的一數(shù)據(jù)頭代表相應(yīng)于上述數(shù)據(jù)頭的上述數(shù)據(jù)長度為上述執(zhí)行記錄,轉(zhuǎn)換至上述除錯模式。
4.如權(quán)利要求2所述的電子裝置的測試與除錯方法,其中上述提取的步驟還包括當(dāng)檢測出上述回復(fù)信號的一數(shù)據(jù)頭代表相應(yīng)于上述數(shù)據(jù)頭的上述數(shù)據(jù)長度為上述測試結(jié)果,轉(zhuǎn)換至上述指令模式。
5.如權(quán)利要求2所述的電子裝置的測試與除錯方法,其中上述提取的步驟還包括從上述回復(fù)信號中檢測出上述測試結(jié)果的一數(shù)據(jù)頭;以及取得相應(yīng)于上述數(shù)據(jù)頭的數(shù)據(jù)的一長度以及決定數(shù)據(jù)的上述長度為相應(yīng)于上述測試指令的上述測試結(jié)果。
6.一種電子裝置的測試與除錯系統(tǒng),應(yīng)用于測試一電子裝置的一測試主機(jī)中,包括一連結(jié)端口,用以建立起與上述電子裝置的連結(jié);以及一狀態(tài)機(jī),耦接于上述連結(jié)端口,用以控制上述測試主機(jī)于一指令模式與一除錯模式間作轉(zhuǎn)換;以及一處理單元,耦接于上述狀態(tài)機(jī)器以及上述連結(jié)端口,當(dāng)上述測試主機(jī)于上述指令模式時,用以發(fā)出多個測試指令,分析所接收到的多個測試結(jié)果,以及當(dāng)上述測試主機(jī)于一除錯模式時,通過監(jiān)控所接收到的多個執(zhí)行記錄來為上述電子裝置進(jìn)行除錯。
7.如權(quán)利要求6所述的電子裝置的測試與除錯系統(tǒng),其中當(dāng)上述狀態(tài)機(jī)檢測出一回復(fù)信號代表一執(zhí)行記錄時,上述狀態(tài)機(jī)轉(zhuǎn)換上述測試主機(jī)至一除錯模式,上述回復(fù)信號是于上述測試主機(jī)發(fā)出一測試指令至上述電子裝置后從上述電子裝置回復(fù)而得。
8.如權(quán)利要求7所述的電子裝置的測試與除錯系統(tǒng),其中當(dāng)上述狀態(tài)機(jī)檢測出一回復(fù)信號代表一測試結(jié)果時,上述狀態(tài)機(jī)轉(zhuǎn)換上述測試主機(jī)至一指令模式,上述回復(fù)信號是于上述測試主機(jī)發(fā)出一測試指令至上述電子裝置后從上述電子裝置回復(fù)而得。
9.如權(quán)利要求8所述的電子裝置的測試與除錯系統(tǒng),其中上述回復(fù)信號包括多個數(shù)據(jù)頭與數(shù)據(jù)的集合,每一數(shù)據(jù)頭相應(yīng)于數(shù)據(jù)的一長度。
10.如權(quán)利要求8所述的電子裝置的測試與除錯系統(tǒng),其中當(dāng)上述狀態(tài)機(jī)檢測出上述回復(fù)信號的一數(shù)據(jù)頭代表相應(yīng)于上述數(shù)據(jù)頭的數(shù)據(jù)的上述長度為上述執(zhí)行記錄時,上述狀態(tài)機(jī)轉(zhuǎn)換至上述除錯模式。
11.如權(quán)利要求8所述的電子裝置的測試與除錯系統(tǒng),其中當(dāng)上述狀態(tài)機(jī)檢測出上述回復(fù)信號的一數(shù)據(jù)頭代表相應(yīng)于上述數(shù)據(jù)頭的數(shù)據(jù)的上述長度為上述測試結(jié)果時,上述狀態(tài)機(jī)轉(zhuǎn)換至上述指令模式。
12.如權(quán)利要求8所述的電子裝置的測試與除錯系統(tǒng),其中當(dāng)上述狀態(tài)機(jī)檢測出上述測試結(jié)果的一數(shù)據(jù)頭時,上述處理單元取得相應(yīng)于上述數(shù)據(jù)頭的數(shù)據(jù)的一長度以及決定數(shù)據(jù)的上述長度為相應(yīng)于上述測試指令的上述測試結(jié)果。
全文摘要
一種應(yīng)用于測試主機(jī)的電子裝置的測試與除錯方法。測試主機(jī)與電子裝置通過連結(jié)端口來連結(jié)。本方法包括下列步驟。本方法始于當(dāng)測試主機(jī)處于指令模式。測試主機(jī)發(fā)出測試指令至電子裝置。于電子裝置執(zhí)行測試指令期間,測試主機(jī)接收相應(yīng)于測試指令的一系列回復(fù)信號。當(dāng)測試主機(jī)檢測出回復(fù)信號為執(zhí)行記錄時,測試主機(jī)轉(zhuǎn)換至除錯模式來監(jiān)控執(zhí)行測試指令的電子裝置。當(dāng)測試主機(jī)從回復(fù)信號中提取出測試結(jié)果時,測試主機(jī)轉(zhuǎn)換至指令模式來接收測試結(jié)果以及發(fā)出另一個測試指令或停止測試及除錯。
文檔編號G06F11/00GK1979672SQ20061014278
公開日2007年6月13日 申請日期2006年10月31日 優(yōu)先權(quán)日2005年12月6日
發(fā)明者詹政哲 申請人:聯(lián)發(fā)科技股份有限公司