簡易檢索 / 詳目顯示

研究生: 方品皓
Fang, Pin-Hao
論文名稱: GDB移植於實體與虛擬平台-應用於多核心虛擬平台
GDB Porting on Virtual and Physical Platforms with Application to Multi-core OpenSPARC Virtual Platform
指導教授: 蘇文鈺
Su, Wen-Yu
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 資訊工程學系
Department of Computer Science and Information Engineering
論文出版年: 2010
畢業學年度: 98
語文別: 中文
論文頁數: 95
中文關鍵詞: GDB8051debugging stub擬真器多核心虛擬平台
外文關鍵詞: GDB, 8051, debugging stub, emulator, multi-core, virtual platform
相關次數: 點閱:165下載:1
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 本篇論文為實做GDB對單核心和多核心架構進行除錯,並且可以隨著處理器的發展,與不同階段的發展平台相連。單核心方面,我們實做出英特爾 8051單晶片的除錯器,其主要內容包括在GDB增加8051的架構、實做多種除錯指令、和針對多種8051平台進行遠端除錯。由於8051平台需要debugging stub負責與GDB溝通並執行其指令,所以根據不同的處理器發展階段,針對不同的8051平台建立debugging stub;CPU平台的debugging stub為一段函式,需要與被除錯的程式一起編譯成執行檔載入目標機器;擬真器平台的debugging stub為一個外部模組,做為擬真器和GDB溝通的橋梁;虛擬平台的debugging stub則能沿用以上任一種。另外在多核心方面,我們提出一個多核心的虛擬平台,Multi-SPARC虛擬平台,其單核心為開放源碼的SPARC V8 架構。為了增加其模擬效能,本虛擬平台在ESL等級下進行模擬。我們定義一些特定的函式進行資料溝通,並建立了TLM介面使其他外部模組可以透過此介面與多核心虛擬平台做溝通。我們提出的多核心系統能夠同時與多個SPARC v8 GDB進行除錯,測試多個應用程式證明其可行性,並且模擬效能比RTL快約1000倍。

    We implement porting the GNU GDB to new target machines, including single core and multi-core architecture, and present on different platforms according to stages of processor development. We present the Intel 8051 debugger by define the 8051 architecture in GDB which can perform several debugging commands and remote debugging with 8051 platforms. As the need of debugging stub for 8051 platform to communicate with GDB, the stubs need to implement respectively with different development stages of processor platform; For CPU platform, it has to compile with application into image file executed on target machine; For emulator, it present as an external model connecting with both GDB and emulator; For virtual platform, any of the above two can put in good use. Furthermore, we present a multi-core virtual platform, Multi-SPARC virtual platform, which follows single-core architecture, SPARC v8, available as an open source development suite. To accelerate the simulation speed, the proposed platform is performed at electronic system level (ESL) in SystemC. We define some specific APIs for data transaction and implement the TLM interface for external modules to communicate with the host virtual platform. The proposed multi-SPARC system is able to connect with many SPARC v8 GDB, the same one which is predefine in GDB. We used several benchmarks to test its correctness, and it simulation speed can be 1000 times faster than RTL’s.

    中文摘要 iv Abstract v 誌謝 vii Content viii List of Tables x List of Figures xi Chapter 1 介紹 1 1.1. 動機 3 1.2. 論文架構 4 Chapter 2 GDB 介紹與移植 5 2.1. GDB內部架構的介紹 6 2.2. 在GDB內加入新處理器 9 2.2.1. 定義目標除錯格式 (BFD) 9 2.2.2. 定義目標架構 10 2.3. 遠端除錯 10 2.4. 遠端連線協定 (RSP) 11 2.4.1. 連接到目標機器 12 2.4.2. Debugging stub 12 Chapter 3 移植8051架構到GDB 14 3.1. Intel 8051 14 3.1.1. 8051架構介紹 14 3.1.2. 8051 發展工具 15 3.1.3. 8051 程式執行平台 16 3.2. 建立8051除錯器 17 3.3. 建立 8051 debugging stub 18 3.3.1. Debugging stub於8051 CPU 19 3.3.2. Debugging stub於8051 擬真器 23 3.3.3. Debugging stub於8051 虛擬平台 26 Chapter 4 Multi-SPARC 虛擬平台 30 4.1. Multi-SPARC 虛擬平台簡介 30 4.2. 單核心指令模擬器 30 4.2.1. 處理器架構-SPARC 31 4.2.2. ArchC 31 4.2.3. 系統設計與驗證語言-SystemC 33 4.2.4. 電子系統層級(ESL) 34 4.3. Multi-SPARC虛擬平台的建立 35 4.3.1. 多核心架構 35 4.3.2. 溝通介面 36 4.3.3. 應用程式的資料傳遞 38 4.3.4. 應用程式的效能評估 39 4.4. Multi-SPARC虛擬平台的外部控制 39 4.4.1. 控制介面 39 4.4.2. 動態載入 40 4.5. Multi-SPARC虛擬平台的發展工具 41 4.6. 實驗結果 44 4.4.1. 4-SPARC 虛擬平台與4個GDB連線 45 4.4.2. 應用程式的驗證 47 Chapter 5 結論與未來展望 55 參考文獻 57 附錄A. GDB安裝與使用 59 附錄B. 實做8051架構至GDB的移植 66 附錄C. Debugging Stub for Each Platform 77 附錄D. 多核心虛擬平台-ESL與RTL的效能比較 93

    [ 1] GDB: The GNU Project Debugger. Available: http://www.gnu.org/software/gdb/
    [ 2] Intel® Microcontrollers. Available: http://www.intel.com/design/embcontrol/index.htm
    [ 3] “SPARC International, Inc”. Available: http://www.sparc.org/
    [ 4] Brian Bailey, Grant Martin and Andrew Piziali, “ESL Design and Verification: A Prescription for Electronic System Level Methodology”. Morgan Kaufmann/Elsevier, 2007
    [ 5] Transaction Level Modeling (TLM) Library, Open SystemC Initiative (OSCI). Available: http://www.systemc.org
    [ 6] The GNU Project. Available: http://www.gnu.org/gnu/thegnuproject.html
    [ 7] Howto: Porting the GNU Debugger. Available: http://www.embecosm.com/appnotes/ean3/html/index.html
    [ 8] Bini E., Bertogna M. and Baruah S., “Virtual Multiprocessor Platforms: Specification and Use,” Real-Time Systems Symposium, pp. 437 - 446, Washington DC, December, 2009.
    [ 9] Hsu, Zhe-Mao, Yeh, Jen-Chieh and Chuang, I-Yao, “An Accurate System Architecture Refinement Methodology with Mixed Abstraction-Level Virtual Platform,” Design, Automation & Test in Europe Conference & Exhibition, pp. 568 - 573, Dresden, April, 2010.
    [ 10] “GCC, the GNU Compiler Collection”. Available: http://gcc.gnu.org/
    [ 11] MinGW Minimalist GNU for Windows, HOWTO Install the MinGW (GCC) Compiler Suite, Available: http://www.mingw.org/wiki/InstallationHOWTOforMinGW
    [ 12] SDCC - Small Device C Compiler. Available: http://sdcc.sourceforge.net/
    [ 13] Keil 8051 Microcontroller Development Tools. Available: http://www.keil.com/c51/
    [ 14] “The ArchC Architecture Description Language”. Available: http://archc.sourceforge.net/
    [ 15] Maturana G., Ball J.L., Gee J., Iyer, A. and O'Connor J.M., “Incas: a cycle accurate model of UltraSPARC,” International Conference on Computer Design: VLSI in Computers and Processors, pp. 130 - 135, Austin, August, 2002.
    [ 16] “OpenSPARC™ T2 Processor Design and Verification User’s Guide”. Available: http://www.opensparc.net
    [ 17]Synopsys VCS. Available: http://www.synopsys.com
    [ 18] MICROCONTROLLER TUTORIALS – 8051. Available: http://www.hobbyprojects.com/8051_tutorial/special_function_registers.html

    下載圖示 校內:2015-08-31公開
    校外:2015-08-31公開
    QR CODE