intel的X86 CPU對運行錯誤的處理已經作的很是完善了,通常即便是開機卡死,跑飛等各類問題也會丟給你相關的提示信息,那麼掌握這種錯誤的分析手段就顯得相當重要。在實際開發的過程當中,我遇到了一個錯誤,現總結下分析思路函數
問題一spa
描述以下:blog
1. 開機過程當中在遇到等待用戶按esc鍵可進入BIOS Setup界面的時候,若是停頓1-3s,而後再按esc鍵嘗試進入,系統報錯,沒法進入BIOS Setup界面。BIOS也會丟出來錯誤代碼開發
分析步驟:im
1.採用的是Insyde的Code,那麼在遇到這樣的錯誤碼,開發者要如何定位問題呢?從錯誤碼入手總結
EDK的Code裏面有這個REPORT_STATUS_CODE_WITH_DEVICE_PATH(),若是不吹意外的話,你遇到的串口丟出來這種信息應該是下面這個函數打印出來的。而V105007得值就是Value得值,說明此時代碼在執行得過程當中遇到了問題,所以借用這個函數將錯誤信息打印出來,根據註釋,你應該能夠看出來打印得信息包括設備號,還有錯誤信息碼,進一步定義的話,咱們先要分析這個V1050007img
2. 繼續追這個函數調用得地方,最終在串口Seria,c得文件中找到了下面這個函數,若是還不肯定的話,那咱們繼續追看那兩個相或得參數:註釋
參數值以下,這三個參數往這一擺,基本能夠肯定你錯誤碼是由這個函數調用打印得了,那麼進一步咱們也就基本肯定了這個錯誤得緣由確定是和串口相關,這樣在分析,是否是就好不少,不會再像無頭蒼蠅同樣亂撞了呢,開發者