簡易檢索 / 詳目顯示

研究生: 高洵偉
Kao, Hsun-Wei
論文名稱: 使用Linux作業系統獨有的特性來達成嵌入式處理器之驗證
Embedded Processor Verification using Particular Characteristics of Linux Operating System
指導教授: 陳中和
Chen, Chung-Ho
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 電腦與通信工程研究所
Institute of Computer & Communication Engineering
論文出版年: 2006
畢業學年度: 94
語文別: 中文
論文頁數: 105
中文關鍵詞: 驗證嵌入式處理器Linux作業系統
外文關鍵詞: Verification, Linux, Embedded Processor
相關次數: 點閱:74下載:3
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  •   為了要驗證嵌入式處理器的功能,執行程式便是必經的步驟。但是由於程式特性的緣故,一般應用程式僅能驗證到嵌入式處理器的基本功能,許多進階的功能則無法被印證。反之,作業系統獨有的特性使其不但能驗證基本的功能,也能涵蓋進階功能的部分,例如特殊指令集與記憶體管理單元。在這篇論文中,我們提出以Linux作業系統來驗證嵌入式處理器的方案,並選擇一顆複雜的嵌入式處理器,實際將Linux移植上去進行處理器的驗證與除錯。最後實驗的成果也證明了此方案的可行性。

      In order to verify the functionalities of embedded processors, executing some programs is the step that must be passed. However, general application programs can only verify some basic functions rather than the advanced ones due to their characteristics. On the other hand, the particular characteristics of operating systems not only achieve the verification of basic functions but also cover the advanced ones, such as the special instruction set and the memory management unit. We introduce a scheme which uses the Linux operating system to verify the embedded processors. We also choose a complex embedded RISC processor and port Linux to it to achieve the verification and debugging for the processor. The experimental result confirms the feasibility of our scheme.

    Chapter 1 序論 1 1.1 研究動機與方向 1 1.2 研究貢獻 1 1.3 內容編排 2 Chapter 2 RISC32微處理器的介紹 3 2.1 研究動機與方向 3 2.1.1 微處理器核心部分 3 2.1.1.1 指令集架構 3 2.1.1.2 管線架構 5 2.1.1.3 執行模式 6 2.1.1.4 暫存器檔案 6 2.1.1.5 例外處理 8 2.1.1.6 系統方塊圖 9 2.1.2 記憶體系統部分 10 2.1.2.1 指令快取記憶體 10 2.1.2.2 資料快取記憶體 11 2.1.2.3 回存緩衝器 12 2.1.2.4 記憶體控制單元 13 2.1.3 匯流排部分 15 2.2 輸入/輸出介面 16 2.2.1 微處理器核心部分 16 2.2.2 記憶體系統部分 18 2.2.3 匯流排部分 20 2.3 工作站合成結果 21 Chapter 3 Linux的介紹與移植方案 22 3.1 Linux Kernel綜觀 22 3.1.1 The Process/Kernel Model 22 3.1.2 Process Implementation 23 3.1.3 Reentrant Kernels 23 3.1.4 Process Address Space 24 3.1.5 Synchronization and Critical Regions 24 3.1.6 Signals and Interprocess Communication 24 3.1.7 Process Management 24 3.1.8 Memory Management 24 3.1.8.1 虛擬記憶體 24 3.1.8.2 RAM的使用 25 3.1.8.3 Kernel記憶體配置器 25 3.1.8.4 Process虛擬空間的處理 25 3.1.8.5 置換與快取 25 3.1.9 File System 26 3.1.9.1 檔案 26 3.1.9.2 File Descriptor and Inode 26 3.1.9.3 存取權限與檔案模式 26 3.1.9.4 Device Drivers 26 3.2 針對RISC32微處理器的Linux移植方案 27 3.2.1 Processor-dependent Files 27 3.2.2 Platform-dependent Files 27 Chapter 4 RISC32微處理器之Linux驗證方法 29 4.1 應用程式驗證 29 4.2 作業系統驗證 30 4.2.1 第一階段 32 4.2.1.1 整數核心 32 4.2.1.2 記憶體系統 35 4.2.2 第二階段 45 4.2.2.1 整數核心 45 4.2.2.2 記憶體系統 53 4.2.3 第三階段 55 4.2.3.1 整數核心 55 4.2.3.2 記憶體系統 65 4.3 總結 67 Chapter 5 RISC32微處理器之除錯討論 68 5.1 除錯工具 68 5.1.1 Gnu Toolchain 68 5.1.2 Xilinx Chipscope Pro 68 5.2 除錯流程與方法 68 5.3 除錯要點討論 71 5.4 Bug的分類 74 5.5 偵錯範例 75 5.5.1 Case 1: Decode Twice Problem 75 5.5.1.1 問題現象 75 5.5.1.2 問題成因 75 5.5.1.3 解決方案 76 5.5.2 Case 2: Disable CPSR IRQ bit while IRQ Comes 77 5.5.2.1 問題現象 77 5.5.2.2 問題成因 77 5.5.2.3 解決方案 80 5.5.3 Case 3: Bad Data Abort Fault Address Register 81 5.5.3.1 問題現象 81 5.5.3.2 問題成因 81 5.5.3.3 解決方案 83 Chapter 6 驗證環境與結果 84 6.1 驗證環境 84 6.1.1 核心模組 84 6.1.2 雙CPU SoC驗證平台 86 6.1.3 軟體環境 91 6.2 驗證結果 92 6.2.1 第一階段 92 6.2.2 第二階段 94 6.2.3 第三階段 96 6.2.4 總結 99 Chapter 7 結論與未來發展 100 7.1 結論 100 7.2 未來發展 100 參考文獻 101 附錄A RISC32發展歷史沿革 102 附錄B 特殊字彙 104

    [1] Alessandro Rubini & Jonathan Corbet,“Linux Device Drivers, 2nd Edition,”O’Reilly, 2001
    [2] ARM Corporation,“AMBA Specification,”1999
    [3] ARM Corporation,“AMBA University Kit Technical Reference Manual,”2001
    [4] ARM Corporation,“ARM922T Technical Reference Manual,”2001
    [5] ARM Corporation,“Integrator/AP ASIC Development Motherboard User Guide,”2001
    [6] ARM Corporation,“Integrator/LM-XCV600E+, Integrator/LM-EP20K600E+ User Guide,”2001
    [7] ARM Corporation,“Integrator/CM926EJ-S, CM946E-S, and CM966E-S User Guide,”2002
    [8] ARM Corporation,“Multi-ICE (version 2.2) User Guide,”2002
    [9] Daniel P. Bovet & Marco Cesati,“Understanding the Linux Kernel, 2nd Edition,”O’Reilly, 2002
    [10] David Seal,“ARM Architecture Reference Manual, 2nd Edition,”Addison Wesley, 2001
    [11] Karim Yaghmour,“Building Embedded Linux Systems,”O’Reilly, 2003
    [12] Michael Barr,“Programming Embedded Systems in C and C++,”O’Reilly, 1999
    [13] Steve Furber,“ARM System-on-chip Architecture, 2nd Edition,”Addison Wesley, 2000
    [14] Wookey & Tak-Shing,“Porting the Linux Kernel to a new ARM Platform,”White Paper, Aleph One, 2002
    [15] Xilinx,“ChipScope Pro Software and Cores User Guide (ChipScope Pro Software v7.1i),”2005
    [16] 王建章,“A Dual RISC Core SoC Platform,”碩士論文, 國立成功大學電機工程學系, 2004

    下載圖示 校內:2007-09-11公開
    校外:2007-09-11公開
    QR CODE