zoukankan      html  css  js  c++  java
  • 【我所認知的BIOS】—>ADU.exe

    【我所認知的BIOS—>ADU.exe

    By LightSeed

    2009-5-12  

    1、概要

    在學習的過程中,肯定會要用不少的工具,作為底層的engineer那麼用的工具大多是DOS下。在DOS下所用的工具對於一般的人來說(相對於當今流行的圖形介面的操作系統)總是感覺比较陌生,也批著一層神奇的面紗。那麼今天我就以我最经常使用的ADU.EXE開刀給大家介紹一下它裏面所涉及的東東。主要是我全然模仿ADU也寫了一個工具,所以在此也介紹一下,好做個總結。

    2ADU—help

    這個工具的全稱是 Award Doctor Utility簡稱ADU,是一個.exe的可執行文件。該工具的help內容就顯示在第一頁,如圖一:

     

    圖一 help介面(也是第一個介面)

    Help中都是介紹關於高速鍵是哪些的。我就不一項一項去解釋了,相信假设對這個工具有興趣的愛好者這點英語應該能ok的。

    3ADU—PCI 設備列表 and 配置空間访問

    Press Enter后,直接列出PCI devicelist見圖二:

     

    圖二 PCI devicelist

    這個介面比较清楚地描写叙述了機器上的全部PCI device的關鍵信息。

    关于PCIconfiguration space直接读出来显示如圖三。

     

    圖三 PCI configuration space 的截圖

    正如圖所看到的,中間的數據是256byte的配置空間,右邊的信息是對配置空間的相應bit的解析,這樣方便engineer查看。

    4ADU—memory访問

    MEM其實是memory的相關操作。主要分為real modeflat mode兩種。關於他們的介紹我會在後續的文章中介紹。介面如圖四:

     

    圖四 real mode下讀取的memory數據

    這個圖中信息比较豐富,start address 是以segmentoffset的形式輸入的。Expansion Rom表示有一個option rom,它在的segment的高字節。比方說,圖中的option rom所在的地址就是在ram中的C000H0000H處。Normal Mode表示如今訪问的模式是real mode

    至於FILE就是指打開指定文件而已。不過是以二進位的形式顯示出來。

    5ADU—IO功能

    IO裏面主要功能如圖五

     

    圖五 IO菜單

    CMOSCMOS的數據顯示如圖六

    ISA是對一些特殊port的數據讀取,他們的操作方式是indexdata的操作方式,所以仅仅要是用這種方式访問的,都能够從這裡輸入,輸出。

    後面的幾個菜單都是大同小異。

     

    圖六 CMOS port的介面

    6ADU--SMBUS

    圖七是SMBUS讀取的介面,關於SMBUS的詳細介紹我會在後續的文章中給出。這裡仅仅是講講ADU這個工具的用途而已。

     

     

     

    圖七 SMBUS讀取的介面

    7ADU--IDE

    ADU還能够讀取IDE deviceidentify information,并作出相應的信息解析。圖八是它的IDE介面之中的一个。關於IDE的詳細介紹後續文章會繼續。

     

    圖八 IDE信息介面之中的一个

    至此關於ADU.EXE的介紹就算是OK了。

    8、對ADU的擴展(增加CPU IDCPU MSR的讀取)

    我當時在寫這個工具的時候還增加了讀取CPU IDCPU MSR的功能。截圖見圖九

     

    圖九 增加的菜單

     

    圖十 CPU ID的介面

    CPUID的讀取介面中,下麵有列出幾行信息,這個首先就有掃描CPU ID的輸入的最大值。並且都列了出來,方便engineer在用的時候做對照。而方框中的則是,當EAX輸入相應值回車后EAX~EDX返回值。

     

    圖十一 CPU MSR的介面

    每個介面的最後一行都是對其的說明,要查詢的時候直接輸入就可以。

    以上就是我對ADU這個工具的理解。文章分成兩個部份,第一部份講award提供的工具所包括的功能簡述,第二部份是自己增加的元素。不過整個工具的實現部份,全然是照ADU的功能仿照設計的。由於之前沒有assembly的基礎,寫的程序效率不高,結構也不太好,所以有非常多值得提高的地方,待有空的時候我回頭從新寫一次。

     

  • 相关阅读:
    操作系统死锁原因及必要条件
    微信公众平台实现获取用户OpenID的方法
    开源授权协议使用调查报告,Apache最受欢迎 狼人:
    软件工程师,你真的喜欢你的工作吗? 狼人:
    程序员的本质 狼人:
    推荐16个最流行的JavaScript框架 狼人:
    11个完全免费的线框图工具 狼人:
    消息队列软件产品大比拼 狼人:
    FreeMarker 2.3.17版发布! 狼人:
    分享9个实用的jQuery倒计时插件 狼人:
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4040499.html
Copyright © 2011-2022 走看看