專利名稱:基本輸入輸出系統(tǒng)的除錯(cuò)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基本輸入輸出系統(tǒng)的除錯(cuò)方法,尤其涉及一種利用溫度的
變化或通用輸入/輸出按鈕的輸出狀態(tài),來進(jìn)行基本輸入輸出系統(tǒng)(BIOS)除 錯(cuò)的除錯(cuò)方法。
背景技術(shù):
計(jì)算機(jī)裝置的基本輸入輸出系統(tǒng)(BASIC INPUT/OUTPUT SYSTEM; BIOS)會(huì)讀寫由CMOS制造出來的隨機(jī)存取內(nèi)存(RAM) 。 BIOS經(jīng)由讀寫 CMOS來得知目前計(jì)算機(jī)裝置的運(yùn)作組態(tài),或是將某些計(jì)算機(jī)組態(tài)的設(shè)定值紀(jì) 錄到CMOS,并作適當(dāng)?shù)拈_機(jī)環(huán)境設(shè)定。
一般說來,計(jì)算機(jī)裝置的基本輸入輸出系統(tǒng)(BIOS)在開機(jī)(boot)過程 中,開機(jī)程序(bootprogram)每隔一段程序會(huì)經(jīng)由一輸入/輸出端口地址80H 送出一特殊代碼(code),而此特殊代碼會(huì)被連接于輸入/輸出端口地址80H 的一除錯(cuò)監(jiān)測卡(port 80卡)所讀取,除錯(cuò)監(jiān)測卡會(huì)通過發(fā)光二極管(LED) 將特殊代碼顯示出來,以達(dá)到通電自我測試(Power On Self Test; POST)的 功能。
前述的通電自我測試(Power On Self Test; POST)功能,僅僅提供使用 者于計(jì)算機(jī)開機(jī)時(shí)進(jìn)行初步簡易的除錯(cuò)判斷。然而,在基本輸入輸出系統(tǒng) (BIOS)的測試階段中,常會(huì)發(fā)生許多的問題,此時(shí),設(shè)計(jì)端需要針對(duì)基本 輸入輸出系統(tǒng)(BIOS)的開機(jī)程序進(jìn)行相關(guān)的檢測及除錯(cuò),以解決這些問題。
在基本輸入輸出系統(tǒng)(BIOS)的檢測及除錯(cuò)階段中,工程師需于開機(jī)程 序中預(yù)先設(shè)定某一檢測點(diǎn),并且將開機(jī)程序燒錄于一BIOS芯片中,然后,將 BIOS芯片插入主機(jī)板。當(dāng)開機(jī)程序執(zhí)行到該檢測點(diǎn)時(shí),檢測點(diǎn)的內(nèi)容會(huì)通過 輸入/輸出端口地址80H送至除錯(cuò)監(jiān)測卡,工程師即可根據(jù)除錯(cuò)監(jiān)測卡所顯示 檢測點(diǎn)的內(nèi)容,進(jìn)行除錯(cuò)的判斷。
然而,在前述的除錯(cuò)方式中,當(dāng)開機(jī)程序執(zhí)行到檢測點(diǎn)時(shí),即在檢測點(diǎn)形
4成無窮循環(huán),以便輸出該檢測點(diǎn)的內(nèi)容,但是卻無法自行跳脫此檢測點(diǎn),而繼 續(xù)完成開機(jī)程序。因此,當(dāng)取得該檢測點(diǎn)的內(nèi)容后,工程師需將BIOS芯片從
主機(jī)板上拔出,再將具有下一個(gè)檢測點(diǎn)的開機(jī)程序燒錄于BIOS芯片上,接著, 將BIOS芯片再一次插入主機(jī)板。由執(zhí)行更新的開機(jī)程序,工程師即可根據(jù)下 一個(gè)檢測點(diǎn)的內(nèi)容,進(jìn)行除錯(cuò)的判斷。
如此,傳統(tǒng)的除錯(cuò)方式需要多次的插/拔主機(jī)板上的BIOS芯片,這讓工程 師在檢測及除錯(cuò)階段中耗費(fèi)許多時(shí)間,而影響檢測及除錯(cuò)的效率。同時(shí),如此 繁復(fù)的插/拔動(dòng)作,也常會(huì)導(dǎo)致BIOS芯片接腳的損壞,而造成組件的浪費(fèi)。
另外,在基本輸入輸出系統(tǒng)(BIOS)的檢測及除錯(cuò)階段中,也可用一般 外接的機(jī)器來達(dá)成基本輸入輸出系統(tǒng)(BIOS)的檢測及除錯(cuò),此機(jī)器可讀取 基本輸入輸出系統(tǒng)(BIOS)緩存器的值,以及執(zhí)行跳躍指令(InstructionPointerr) 來跳過已鎖住(Hang)的程序,使開機(jī)程序能繼續(xù)往下執(zhí)行。但是,此除錯(cuò) 機(jī)器通常昂貴,而且需要有主機(jī)板的特殊線路與連接器支持。這對(duì)于一般基本 輸入輸出系統(tǒng)(BIOS)的檢測及除錯(cuò)來講,并不實(shí)用。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供基本輸入輸出系統(tǒng)的除錯(cuò)方法,可以用來解決BIOS 芯片在檢測及除錯(cuò)階段中,因?yàn)槎啻蔚牟?拔,所造成時(shí)間的耗費(fèi)以及組件的 損害等缺點(diǎn)。同時(shí),使用本發(fā)明的除錯(cuò)方法幾乎不需額外費(fèi)用,且具有操作方 便、迅速及廉價(jià)的效益。
本發(fā)明使用的基本輸入輸出系統(tǒng)設(shè)置于一主機(jī)板上,而除錯(cuò)方法的步驟如 下首先,預(yù)設(shè)一除錯(cuò)程序于一開機(jī)程序中;接著,基本輸入輸出系統(tǒng)執(zhí)行該 開機(jī)程序;然后,依據(jù)該除錯(cuò)程序,該基本輸入輸出系統(tǒng)判斷一狀態(tài)值是否為 該除錯(cuò)程序的一默認(rèn)值;前述判斷中,若是狀態(tài)值為默認(rèn)值,則依據(jù)該除錯(cuò)程 序,基本輸入輸出系統(tǒng)送出一待測值;反之若不是,則跳出該除錯(cuò)程序,基本 輸入輸出系統(tǒng)繼續(xù)執(zhí)行該開機(jī)程序。
根據(jù)前述除錯(cuò)方法,本發(fā)明提供有二個(gè)實(shí)施例,用以實(shí)施判斷狀態(tài)值是否 為除錯(cuò)程序的默認(rèn)值的步驟。在第一實(shí)施例中,本發(fā)明使用一通用輸出輸入接 口 (General Purpose I/O; GPIO)作為狀態(tài)值的輸出,此時(shí),除錯(cuò)程序的默認(rèn) 值為邏輯'T'或邏輯"O"。另外,在第二實(shí)施例中,本發(fā)明使用一 SUPERI/0芯片偵測主機(jī)板的溫度值,并將此溫度值作為狀態(tài)值,此時(shí),除錯(cuò)程序的默認(rèn)值 為一溫度范圍值。
本發(fā)明利用溫度的變化或通用輸入/輸出按鈕的輸出狀態(tài),讓基本輸入輸 出系統(tǒng)得以跳出執(zhí)行中的除錯(cuò)程序,而繼續(xù)完成開機(jī)程序。同時(shí),于開機(jī)后, 工程師可以重新設(shè)定開機(jī)程序中的除錯(cuò)程序,并直接利用燒錄工具將更新后的
開機(jī)程序燒入BIOS芯片中。如此,使用本發(fā)明的除錯(cuò)方法來進(jìn)行BIOS芯片
的檢測及除錯(cuò),即不需要繁復(fù)的插/拔動(dòng)作,因而加快了檢測及除錯(cuò)的時(shí)間, 以及節(jié)省了組件的使用率。
以下結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述,但不作為對(duì)本發(fā)明的 限定。
圖1為適用本發(fā)明除錯(cuò)方法的計(jì)算機(jī)架構(gòu)示意圖2為本發(fā)明第一實(shí)施例的基本輸入輸出系統(tǒng)的除錯(cuò)方法流程示意圖;及 圖3為本發(fā)明第二實(shí)施例的基本輸入輸出系統(tǒng)的除錯(cuò)方法流程示意圖。
其中,附圖標(biāo)記
10 主機(jī)板
11 BIOS芯片
12 處理單元
13 SUPERI/0芯片
14 輸入/輸出端口 16 測試卡
具體實(shí)施例方式
下面結(jié)合附圖對(duì)本發(fā)明的結(jié)構(gòu)原理和工作原理作具體的描述
圖1為適用本發(fā)明除錯(cuò)方法的計(jì)算機(jī)架構(gòu)示意圖。在圖1中,主機(jī)板10
上設(shè)置有一 BIOS芯片11、 一 SUPERI/O芯片13、 一處理單元12及一輸入/ 輸出端口 14,前述各組件被整合并且電性連接于主機(jī)板10上。另外,輸入/ 輸出端口 14進(jìn)一步連接于一測試卡16,其中,輸入/輸出端口 14具有輸入/ 輸出端口地址80H (未標(biāo)示),被用來作為一系統(tǒng)除錯(cuò)端口。
6配合圖l,請(qǐng)參閱圖2,為本發(fā)明第一實(shí)施例的基本輸入輸出系統(tǒng)的除錯(cuò) 方法流程示意圖。在本發(fā)明第一實(shí)施例中,首先需要于一開機(jī)禾呈序中編輯一除 錯(cuò)程序(S10)。接下來,基本輸入輸出系統(tǒng)執(zhí)行該具有除錯(cuò)程序的開機(jī)程序
(S12)。然后,基本輸入輸出系統(tǒng)執(zhí)行該除錯(cuò)程序,并依據(jù)該除錯(cuò)程序,基 本輸入輸出系統(tǒng)從一通用輸出輸入接口 (General Purpose I/O; GPIO)取得一 GPIO狀態(tài)值(S14)。再,依據(jù)該除錯(cuò)程序,基本輸入輸出系統(tǒng)判斷GPIO狀 態(tài)值是否為該除錯(cuò)程序的一默認(rèn)值(S16)。當(dāng)判斷步驟S16為"是"時(shí),依據(jù) 該除錯(cuò)程序,基本輸入輸出系統(tǒng)送出一待測值(S18)。反之,當(dāng)判斷步驟(S16) 為"否"時(shí),基本輸入輸出系統(tǒng)跳出該除錯(cuò)程序,并回到步驟(S12)以繼續(xù)執(zhí) 行開機(jī)程序,或者,跳出該除錯(cuò)程序以完成開機(jī)程序的執(zhí)行(S17)。
再參考圖2,在步驟(S18)后,待測值通過該主機(jī)板10上的輸入/輸出 端口地址80H送入測試卡16,以進(jìn)行顯示(S19),該測試卡16可為一七段顯 示器。同時(shí),在步驟(S18)后,基本輸入輸出系統(tǒng)持續(xù)判斷該狀態(tài)值是否為 該默認(rèn)值(S16),并于該GPIO狀態(tài)值與默認(rèn)值相同時(shí),進(jìn)入步驟(S18), 反之,進(jìn)入步驟(S17)。
再參閱圖2,從步驟S14到步驟S18為除錯(cuò)程序執(zhí)行的歩驟。依據(jù)除錯(cuò)程 序的執(zhí)行,基本輸入輸出系統(tǒng)得以取得GPIO狀態(tài)值,GPIO狀態(tài)值為邏輯"l" 或邏輯"0"。依據(jù)除錯(cuò)程序的執(zhí)行,基本輸入輸出系統(tǒng)會(huì)判斷前述GPIO狀態(tài) 值與除錯(cuò)程序的默認(rèn)值邏輯"1"或邏輯"0"是否相符合。當(dāng)符合時(shí),基本輸 入輸出系統(tǒng)會(huì)依據(jù)除錯(cuò)程序的執(zhí)行,進(jìn)而輸出待測值,并且重復(fù)判斷GPIO狀 態(tài)值與除錯(cuò)程序的默認(rèn)值。若是GPIO狀態(tài)值不符合除錯(cuò)程序的默認(rèn)值時(shí),基 本輸入輸出系統(tǒng)會(huì)跳出該除錯(cuò)程序,而繼續(xù)執(zhí)行開機(jī)程序。
在前述步驟(S14)中,通用輸出輸入接口 (General Purpose I/O; GPIO) 連接有一個(gè)通用輸入/輸出按鈕,使用者可以操控該通用輸入/輸出按鈕的開 (turn on)或關(guān)(turn off)來實(shí)現(xiàn)GPIO狀態(tài)值的變化,并將此GPIO狀態(tài)值 的變化送至通用輸出輸入接口 (General Purpose I/O; GPIO)。
配合圖l,請(qǐng)參閱圖3,為本發(fā)明第二實(shí)施例的基本輸入輸出系統(tǒng)的除錯(cuò) 方法流程示意圖。在本發(fā)明第三實(shí)施例中,首先,需要于一開機(jī)程序中編輯一 除錯(cuò)程序(S20)。接下來,基本輸入輸出系統(tǒng)執(zhí)行該具有除錯(cuò)程序的開機(jī)程 序(S22)。然后,基本輸入輸出系統(tǒng)執(zhí)行該除錯(cuò)程序,并依據(jù)該除錯(cuò)程序,基本輸入輸出系統(tǒng)從一 SUPERI/O芯片13取得主機(jī)板10的一溫度狀態(tài)值 (S24)。再,依據(jù)該除錯(cuò)程序,基本輸入輸出系統(tǒng)判斷溫度狀態(tài)值是否落入 該除錯(cuò)程序的一預(yù)設(shè)溫度范圍(S26)。當(dāng)判斷步驟S26為"是"時(shí),依據(jù)除錯(cuò) 程序,基本輸入輸出系統(tǒng)送出一待測值(S28)。反之,當(dāng)判斷步驟(S26)為" 否"時(shí),基本輸入輸出系統(tǒng)跳出該除錯(cuò)程序,并回到歩驟(S22)以繼續(xù)執(zhí)行開 機(jī)程序,或者,跳出該除錯(cuò)程序以完成開機(jī)程序的執(zhí)行(S27)。
再參考圖3,在步驟(S28)后,待測值通過該主機(jī)板10上的輸入/輸出 端口地址80H送入測試卡16,以進(jìn)行顯示,該測試卡16可為一^b段顯示器。 同時(shí),在歩驟(S28)后,基本輸入輸出系統(tǒng)持續(xù)判斷該溫度狀態(tài)值是否落入 該預(yù)設(shè)溫度范圍(S26),并于該溫度值再次落入預(yù)設(shè)溫度范圍時(shí),再次進(jìn)入 步驟(S28),反之,則再次進(jìn)入步驟(S27)。
再參閱圖3,從步驟S24到步驟S28為除錯(cuò)程序執(zhí)行的步驟。依據(jù)除錯(cuò)程 序的執(zhí)行,基本輸入輸出系統(tǒng)得以取得主機(jī)板10的溫度狀態(tài)值,該溫度狀態(tài) 值為一模擬數(shù)值。除錯(cuò)程序會(huì)判斷前述溫度狀態(tài)值是否落入除錯(cuò)程序的預(yù)設(shè)溫 度范圍內(nèi)。當(dāng)落入時(shí),基本輸入輸出系統(tǒng)會(huì)依據(jù)除錯(cuò)程序的執(zhí)行,而輸出該待 測值,并重復(fù)判斷主機(jī)板10的溫度狀態(tài)值是否落入除錯(cuò)程序的預(yù)設(shè)溫度范圍。 若是主機(jī)板10的溫度狀態(tài)值不再落入除錯(cuò)程序的預(yù)設(shè)溫度范圍時(shí),基本輸入 輸出系統(tǒng)跳出該除錯(cuò)程序,而繼續(xù)執(zhí)行開機(jī)程序。
在前述步驟(S24)中,溫度狀態(tài)值可以是主機(jī)板10上某一組件的溫度 值,在此以主機(jī)板10上的CPU為例,使用者可以將主機(jī)板10上CPU的散熱 片取下或裝回,以達(dá)到溫度狀態(tài)值的改變。
本發(fā)明利用溫度的變化或通用輸入/輸出按鈕的輸出狀態(tài),讓基本輸入輸 出系統(tǒng)得以跳出執(zhí)行中的除錯(cuò)程序,而繼續(xù)完成開機(jī)程序。同時(shí),于完成開機(jī) 后,工程師可以重新設(shè)定開機(jī)程序中的除錯(cuò)程序,并直接利用燒錄工具將更新 后的開機(jī)程序燒入BIOS芯片中。
如此,使用本發(fā)明的除錯(cuò)方法來進(jìn)行基本輸入輸出系統(tǒng)(BIOS)的檢測 及除錯(cuò),即不需要繁復(fù)的插/拔動(dòng)作,因而加快了檢測及除錯(cuò)的時(shí)間,以及節(jié) 省了組件的使用率。
綜上所述,本發(fā)明提供基本輸入輸出系統(tǒng)的除錯(cuò)方法,可以用來解決BIOS 芯片在檢測及除錯(cuò)階段中,因?yàn)槎啻蔚牟?拔,所造成時(shí)間的耗費(fèi)以及組件的損害等缺點(diǎn)。同時(shí),使用本發(fā)明的除錯(cuò)方法幾乎不需額外費(fèi)用,且具有操作方 便、迅速且廉價(jià)的效益。
當(dāng)然,本發(fā)明還可有其它多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情 況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但 這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1. 一種基本輸入輸出系統(tǒng)的除錯(cuò)方法,其特征在于,該基本輸入輸出系統(tǒng)設(shè)置于一主機(jī)板,步驟包括有預(yù)設(shè)一除錯(cuò)程序于一開機(jī)程序中;基本輸入輸出系統(tǒng)執(zhí)行該開機(jī)程序;依據(jù)該除錯(cuò)程序,該基本輸入輸出系統(tǒng)判斷一狀態(tài)值是否為該除錯(cuò)程序的一默認(rèn)值;若是,則依據(jù)該除錯(cuò)程序送出一待測值;及若不是,則跳出該除錯(cuò)程序,并繼續(xù)執(zhí)行該開機(jī)程序。
2. 根據(jù)權(quán)利要求1所述的基本輸入輸出系統(tǒng)的除錯(cuò)方法,其特征在于,該 狀態(tài)值由一通用輸出輸入接口所輸出的GPIO狀態(tài)值。
3. 根據(jù)權(quán)利要求1所述的基本輸入輸出系統(tǒng)的除錯(cuò)方法,其特征在于, 在送出該待測值的步驟后,進(jìn)一步包括顯示該待測值的步驟。
4. 根據(jù)權(quán)利要求3所述的基本輸入輸出系統(tǒng)的除錯(cuò)方法,其特征在于,該待測值由該主機(jī)板上的一輸入/輸出端口地址80H送至一測試卡,以進(jìn)行顯 示。
5. 根據(jù)權(quán)利要求1所述的基本輸入輸出系統(tǒng)的除錯(cuò)方法,其特征在于, 在該基本輸入輸出系統(tǒng)送出該待測值的步驟后,基本輸入輸出系統(tǒng)持續(xù)判斷該 狀態(tài)值是否為該默認(rèn)值。
6. 根據(jù)權(quán)利要求5所述的基本輸入輸出系統(tǒng)的除錯(cuò)方法,其特征在于,該狀態(tài)值符合該默認(rèn)值時(shí),重復(fù)該基本輸入輸出系統(tǒng)送出該待測值的步驟。
7. 根據(jù)權(quán)利要求5所述的基本輸入輸出系統(tǒng)的除錯(cuò)方法,其特征在于,該狀態(tài)值不符合該默認(rèn)值時(shí),該基本輸入輸出系統(tǒng)跳出該除錯(cuò)程序,繼續(xù)執(zhí)行 該開機(jī)程序。
8. 根據(jù)權(quán)利要求1所述的基本輸入輸出系統(tǒng)的除錯(cuò)方法,其特征在于, 該狀態(tài)值為一溫度狀態(tài)值,該溫度狀態(tài)值由一SUPER1/0芯片偵測該主機(jī)板的 溫度所取得。
9. 根據(jù)權(quán)利要求8所述的基本輸入輸出系統(tǒng)的除錯(cuò)方法,其特征在于, 該默認(rèn)值為一溫度范圍值。
10. 根據(jù)權(quán)利要求9所述的基本輸入輸出系統(tǒng)的除錯(cuò)方法,其特征在于, 在送出該待測值的步驟后,進(jìn)一步包括顯示該待測值的步驟。
11. 根據(jù)權(quán)利要求10所述的基本輸入輸出系統(tǒng)的除錯(cuò)方法,其特征在于,該待測值由該主機(jī)板上的一輸入/輸出端口地址80H送至一測試卡,以進(jìn)行顯不。
12. 根據(jù)權(quán)利要求10所述的基本輸入輸出系統(tǒng)的除錯(cuò)方法,其特征在于, 在該基本輸入輸出系統(tǒng)送出該待測值的步驟后,基本輸入輸出系統(tǒng)持續(xù)判斷該 溫度狀態(tài)值是否落入該溫度預(yù)設(shè)范圍。
13. 根據(jù)權(quán)利要求12所述的基本輸入輸出系統(tǒng)的除錯(cuò)方法,其特征在于, 該溫度狀態(tài)值落入該溫度預(yù)設(shè)范圍時(shí),重復(fù)該基本輸入輸出系統(tǒng)送出該待測值 的步驟。
14. 根據(jù)權(quán)利要求12所述的基本輸入輸出系統(tǒng)的除錯(cuò)方法,其特征在于, 該溫度狀態(tài)值不是落入該溫度預(yù)設(shè)范圍時(shí),該基本輸入輸出系統(tǒng)跳出該除錯(cuò)程 序,繼續(xù)執(zhí)行完成該開機(jī)程序。
全文摘要
本發(fā)明提供一種基本輸入輸出系統(tǒng)的除錯(cuò)方法,該方法中,首先預(yù)設(shè)一除錯(cuò)程序于一開機(jī)程序中;接著,基本輸入輸出系統(tǒng)執(zhí)行該開機(jī)程序;然后,依據(jù)該除錯(cuò)程序,判斷一狀態(tài)值是否為該除錯(cuò)程序的一默認(rèn)值;在前述判斷中,若是狀態(tài)值為默認(rèn)值,則依據(jù)該除錯(cuò)程序,送出一待測值;反之,則跳出該除錯(cuò)程序,基本輸入輸出系統(tǒng)繼續(xù)執(zhí)行該開機(jī)程序。使用本發(fā)明的除錯(cuò)方法來進(jìn)行BIOS芯片的檢測及除錯(cuò),即不需要繁復(fù)的插/拔動(dòng)作,因而加快了檢測及除錯(cuò)的時(shí)間,以及節(jié)省了組件的使用率。
文檔編號(hào)G06F9/445GK101425030SQ200710165138
公開日2009年5月6日 申請(qǐng)日期2007年10月29日 優(yōu)先權(quán)日2007年10月29日
發(fā)明者盧定均 申請(qǐng)人:環(huán)隆電氣股份有限公司