1.一種基于DSDT表的調(diào)試方法,其特征在于,所述方法包括如下步驟:
S1、在主板BIOS的ACPI的DSDT表中添加調(diào)試信息,得到具有硬件調(diào)試功能的DSDT表,并將包含該DSDT表的BIOS數(shù)據(jù)寫入調(diào)試終端的主板ROM,其中,該DSDT表支持預(yù)裝不同操作系統(tǒng)的調(diào)試終端對其訪問;
S2、調(diào)試終端開機時載入主板ROM中的BIOS數(shù)據(jù),調(diào)出BIOS數(shù)據(jù)中具有硬件調(diào)試功能的DSDT表,根據(jù)該DSDT表中添加的調(diào)試信息對該DSDT表中描述的所有硬件一一進行調(diào)試,并通過串口線將各硬件調(diào)試信息傳送到調(diào)試信息分析終端;
S3、通過調(diào)試信息分析終端對各硬件調(diào)試信息進行分析,顯示硬件調(diào)試信息分析結(jié)果。
2.根據(jù)權(quán)利要求1所述的基于DSDT表的調(diào)試方法,其特征在于,所述步驟S1中在主板BIOS的ACPI的DSDT表中添加調(diào)試信息的步驟包括如下子步驟:
S11、收集ACPI中的所有ASL文件,對收集的ASL文件進行編譯,得到AML文件;
S12、將Device作為關(guān)鍵詞對該AML文件進行遍歷,獲取各個Device的子文件;
S13、將Method作為關(guān)鍵詞對各個Device子文件分別進行遍歷,獲取每一個Device子文件中的所有Method函數(shù),并將調(diào)試代碼插入每一個Device子文件的每一個Method函數(shù)執(zhí)行語句的第一行代碼中的相應(yīng)位置。
3.根據(jù)權(quán)利要求2所述的基于DSDT表的調(diào)試方法,其特征在于,所述 步驟S13還如下子步驟:
S131、針對每一個Device子文件,搜索其下的每個Method函數(shù)執(zhí)行語句中的所有條件式語句,并將調(diào)試代碼插入每個條件式語句的第一行代碼的相應(yīng)位置;
S132、記錄各個Method函數(shù)執(zhí)行語句中調(diào)試代碼的插入位置,根據(jù)記錄信息形成用于追溯硬件設(shè)備調(diào)試過程中Bug出現(xiàn)位置的樹狀報錯標記圖,將該樹狀報錯標記圖傳送于調(diào)試信息分析終端。
4.根據(jù)權(quán)利要求3所述的基于DSDT表的調(diào)試方法,其特征在于,所述步驟S2中根據(jù)該DSDT表中添加的調(diào)試信息對該DSDT表中描述的所有硬件一一進行調(diào)試的步驟包括如下子步驟:
S21、依照硬件調(diào)試順序選擇該DSDT表下的其中一個Device子文件;
S22、依次執(zhí)行該Device子文件中的每個Method函數(shù)的每條執(zhí)行語句,判斷各Method函數(shù)運行過程中是否出現(xiàn)bug;如是,則執(zhí)行步驟S23,否則,返回步驟S21;
S23、獲取在該bug所在代碼段插入的報錯標記,生成攜帶該報錯標記的報錯信息。
5.根據(jù)權(quán)利要求4所述的基于DSDT表的調(diào)試方法,其特征在于,所述步驟S3中所述調(diào)試信息分析終端對硬件調(diào)試信息進行分析,顯示硬件調(diào)試信息分析結(jié)果的步驟包括如下步驟:
S31、通過串口接收該報錯信息,提取該報錯信息中的報錯標記,根據(jù)樹狀報錯標記圖查找該報錯標記所插入到的Device子文件Method函數(shù)執(zhí)行語句中的相關(guān)代碼段,讀出該代碼段并對該代碼段進行邏輯錯誤分析;
S32、經(jīng)分析確定該代碼段無誤時,判定該Device出現(xiàn)硬件故障,產(chǎn)生及 顯示故障提示信息。
6.一種基于DSDT表的調(diào)試系統(tǒng),其特征在于,所述系統(tǒng)包括:
調(diào)試終端,用于開機啟動系統(tǒng)時讀取預(yù)存于主板ROM的BIOS數(shù)據(jù),調(diào)出該BIOS數(shù)據(jù)中添加調(diào)試信息的DSDT表,根據(jù)該DSDT表中添加的調(diào)試信息對該DSDT表中描述的所有硬件一一進行調(diào)試,生成硬件調(diào)試信息;
與調(diào)試終端通過串口線建立通信的調(diào)試信息分析終端,用于接收來自調(diào)試終端的硬件調(diào)試信息,對硬件調(diào)試信息進行分析,顯示硬件調(diào)試信息分析結(jié)果。
7.根據(jù)權(quán)利要求6所述的基于DSDT表的調(diào)試系統(tǒng),其特征在于,所述調(diào)試終端包括:
集成于主板的ROM,用于存儲帶硬件調(diào)試功能的BIOS數(shù)據(jù),該BIOS數(shù)據(jù)包含添加調(diào)試信息且支持不同操作系統(tǒng)對其進行調(diào)用的DSDT表;
處理模塊,用于根據(jù)該DSDT表中添加的調(diào)試信息對該DSDT表中描述的所有硬件一一進行調(diào)試,產(chǎn)生調(diào)試結(jié)果;
以及第一串口通信模塊,用于將該調(diào)試結(jié)果發(fā)送到所述調(diào)試信息分析終端。
8.根據(jù)權(quán)利要求7所述的基于DSDT表的調(diào)試系統(tǒng),其特征在于,所述處理模塊進一步包括:
選擇子模塊,用于依照硬件調(diào)試順序選擇該DSDT表中的其中一個Device子文件;
報錯信息生成子模塊,用于依次執(zhí)行該Device子文件中的每個Method函數(shù)的每條執(zhí)行語句及在Method函數(shù)執(zhí)行過程出現(xiàn)bug時,查找該bug所在代碼段中插入的報錯標記,并生成帶有該報錯標記的報錯信息。
9.根據(jù)權(quán)利要求8所述的基于DSDT表的調(diào)試系統(tǒng),其特征在于,所述調(diào)試信息分析終端包括:
與第一串口通信模塊匹配的第二串口通信模塊,用于接收來自所述調(diào)試終端的報錯信息及樹狀報錯標記圖;
報錯信息分析模塊,用于根據(jù)樹狀報錯標記圖查找該報錯標記所插入到的Device子文件Method函數(shù)執(zhí)行語句中的代碼段,讀取該代碼段并對該代碼段進行邏輯錯誤分析;
故障提醒模塊,用于經(jīng)分析確定該代碼段無誤時,判定該Device出現(xiàn)硬件故障,生成故障提示信息;
顯示屏,用于顯示該故障提示信息。