跳到主要內容

臺灣博碩士論文加值系統

(3.229.142.104) 您好!臺灣時間:2021/07/27 05:31
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

我願授權國圖
: 
twitterline
研究生:李沅龍
研究生(外文):Yuan-Lung Li
論文名稱:基於SoC軟硬體共同設計與驗證之虛擬平台上的Linux作業系統支援實作
論文名稱(外文):Linux OS Support on Virtual Platform for SoC HW/SW Co-Design and Verification
指導教授:黃鐘揚
指導教授(外文):Chung-Yang Huang
學位類別:碩士
校院名稱:國立臺灣大學
系所名稱:電機工程學研究所
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2009
畢業學年度:97
語文別:英文
論文頁數:83
中文關鍵詞:QuteVPuCLinuxSystemCESLTLMARM
外文關鍵詞:QuteVPuCLinuxSystemCESLTLMARM
相關次數:
  • 被引用被引用:0
  • 點閱點閱:169
  • 評分評分:
  • 下載下載:0
  • 收藏至我的研究室書目清單書目收藏:1
本篇論文中,我們成功地將嵌入式作業系統uCLinux移植到本實驗室自行開發的虛擬平台QuteVP上執行。針對此作業系統我們在QuteVP上面進行了必要的虛擬模組建置,例如增強的傳輸階層模組(TLM)系統匯流排、向量中斷控制器以及計時器等;另外,在模擬效能上,我們也針對指令模擬(ISS)階層的中央處理單元(CPU),QuteCore,進行運作核心改寫、修正例外處理程序、增加內部記憶體以及指令快取記憶體以達到嵌入式作業系統運行的需求。除此之外,因應QuteVP虛擬平台,我們調整了uCLinux內部與硬體相關的控制程序,而為了達到移植的目的,我們也針對虛擬輸出的部分撰寫了驅動程式讓uCLinux系統核心可以控制系統訊息的輸出。我們的模擬結果顯示uCLinux在QuteVP上面的開機時間僅需47秒即可完成,這樣的效能對本實驗室的虛擬平台在未來進行其他嵌入式作業系統進行開發時將有極大的幫助,並且藉由uCLinux系統核心的支援,得以讓其他嵌入式應用的研究可以有更加便利的平台,在軟硬體共同驗證的課題上也可以有更加緊密的結合。
In this thesis, we present our porting of an embedded operation system (OS), uCLinux, to a virtual platform developed from our lab, the Qute Virtual Platform (QuteVP). To equip the virtual platform for the OS porting, we constructed several essential virtual modules, such as enhanced TLM bus, vector interrupt controller and timer modules. In addition, we modified the processor model of QuteVP, QuteCore, to elevate the simulation performance. Our modifications include the re-modeling of the CPU operation engine, revision of the exception handling process, implementation of the internal SRAM, and creation of the instruction cache to fulfill the execution requirement of the embedded OS. On the other hand, in the software side of uClinux, we also adjusted its hardware-related controlling procedure to satisfy the architecture of QuteVP. With the implementations of the required software drivers and the virtual display module, the uCLinux kernel can output the system message in the booting process. The simulation result shows that the booting time of uCLinux takes only 47 seconds. With such performance, we can easily conduct more researches on embedded system development. Moreover, with the full Linux API supports of uCLinux, we can conduct more application researches on varied embedded systems. In short, our porting of OS on SoC virtual platform has opened the door for the exploration of the challenging hardware/software co-verification problems.
Acknowledgements(致謝) i
摘要 ii
Abstract iii
Table of Contents v
List of Figures viii
List of Tables x
Chapter 1 Introduction 1
Section 1.1 HW/SW Co-Design in ESL Design Flow 1
Section 1.2 Our Previous Work on SoC Virtual Platform 3
Section 1.3 Our Work for uCLinux Support on QuteVP 3
Section 1.4 Organization of the Thesis 4
Chapter 2 System Overview 5
Section 2.1 Previous Architecture of QuteVP 5
Section 2.2 Current Architecture of QuteVP 6
Section 2.3 QuteVP Operation Flow 7
Chapter 3 Hardware Modeling 10
Section 3.1 Enhancements on QuteCore 10
Section 3.1.1 Efficient Instruction Execution by New Operation Engine 11
Section 3.1.2 Precise Exception Handling Implementation 13
Section 3.1.3 Instruction Fetch Cache Implementation 14
Section 3.1.4 Fast Access in High Memory for ISR by Internal SRAM Implementation 16
Section 3.2 Enhancements on Bus Communication 16
Section 3.2.1 Transaction Level Modeling (TLM) 17
Section 3.2.2 Enhancement of Communication Flow 18
Section 3.3 Implementation of the Interrupt Controller 19
Section 3.3.1 Implementation Method 19
Section 3.3.2 Software Testing and Debugging 21
Section 3.4 Implementation of the Timer Module 23
Section 3.4.1 Implementation Method 23
Section 3.4.2 Software Testing and Debugging 24
Section 3.5 Implementation of the Virtual Display Device 26
Section 3.5.1 Implementation Method 26
Section 3.5.2 Software Testing and Debugging 27
Section 3.6 Implementation of the Virtual Input Device 28
Section 3.6.1 Implementation Method 28
Section 3.6.2 Software Testing and Debugging 29
Section 3.7 Re-Configuration of System Memory Map 29
Chapter 4 Software Integration 31
Section 4.1 Choice of Operation Systems 31
Section 4.2 Cross-compilation Tool Chain 32
Section 4.3 Building uCLinux Kernel 34
Section 4.4 Execution Method for Simulation 37
Section 4.4.1 Kernel Image Extraction 38
Section 4.4.2 Image Loading before Simulation 38
Chapter 5 uCLinux Porting on QuteVP 41
Section 5.1 Hardware part—QuteVP 41
Section 5.1.1 Program Counter Auditing 41
Section 5.1.2 Invalid Address Access Prevention 43
Section 5.2Software Part—uCLinux Kernel Image 44
Section 5.2.1 Entry Stage 44
Section 5.2.2 Kernel Start Stage 45
Section 5.2.3 User Land Stage 47
Section 5.2.4 Output Method Implementation 49
Section 5.2.5 Kernel Source Modifications for QuteVP 52
Chapter 6 Experimental Results 58
Section 6.1 Simulation Performance 58
Section 6.2 Cache Performance Tuning 60
Section 6.3 Adding the Test Applications 61
Chapter 7 Conclusion and Future Works 62
Reference & Bibliography 64
Appendices 66
Appendix I uCLinux Vendor Configuration 66
Appendix II uCLinux Kernel Configuration 68
Appendix III uCLinux User Land Configuration 73
Appendix IV User Manual of QuteVP 82
Appendix V uCLinux Kernel Build Method 83
[1] Hsing-Chih Hung, A Virtual Platform for System-on-Chip Design and Verification, Master Thesis, June 2007, page 8-24
[2] Doug Abbott, Linux for Embedded and Real-time Applications, Newnes, 2003
[3] Embedded Linux/Microcontroller Project (uCLinux): http://www.uclinux.org/ 1998-2009
[4] Transaction Level Modeling (TLM) standard: http://www.systemc.org/downloads/standards/
[5] ARM Architecture Reference Manual, ARM, DDI0100E, 1996-2000
[6] SystemC Language Reference Manual (LRM): http://www.systemc.org/
[7] David A. Petterson, John L. Hennessy, Computer Organnization & Design—The Hardware/Software Interface, Morgan Kaufmann Publishers, Inc. second edition, 1998
[8] PrimeCell Vectored Interrupt Controller (PL190) Technical Reference Manual, ARM, DDI0181E, 2000, 2003-2004
[9] ARM Dual-Timer Module (SP804) Technical Reference Manual, ARM, DDI0271D, 2002-2004
[10] PrimeCell PS2 Keyboard/Mouse Interface (PL050) Technical Reference Manual, ARM, DDI0143C, 1999
[11] RealView Platform Baseboard for ARM926EJ-S User Guide, ARM, DUI0224D, 2003-2006
[12] Daniel P. Bovet, Marco Cesati, Understanding the Linux Kernel, O''Reilly, third edition, November 2005
[13] ARM ELF File Format, ARM, DUI0101A, 1997-1998
[14] PrimeCell UART (PL011) Technical Reference Manual, ARM, DDI0183E, 2000-2001
[15] Karim Yaghmour, Building Embedded Linux Systems, O''Reilly, first edition, April 2003
[16] Alessandro Rubini, Linux Device Drivers, O''Reilly, first version, 2001
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top
無相關期刊