跳到主要內容

臺灣博碩士論文加值系統

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

詳目顯示

我願授權國圖
: 
twitterline
研究生:邱俊傑
研究生(外文):Chun-Chieh Chiu
論文名稱:針對系統晶片設計中快速矽智產整合之基礎驅動程式自動產生器
論文名稱(外文):Automatic baseline driver generator for fast IP integration in SoC designs
指導教授:黃穎聰黃穎聰引用關係
學位類別:碩士
校院名稱:國立中興大學
系所名稱:電機工程學系所
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2008
畢業學年度:96
語文別:中文
論文頁數:75
中文關鍵詞:驅動程式自動產生自動合成
外文關鍵詞:Linux device driverauto-generation
相關次數:
  • 被引用被引用:0
  • 點閱點閱:114
  • 評分評分:
  • 下載下載:0
  • 收藏至我的研究室書目清單書目收藏:0
目前對於系統晶片設計之發展,系統上通常包含眾多具有不同功能之IP,因此系統整合已成為系統晶片設計中最困難的部分。為了輔助與加快系統晶片設計之IP整合,本論文提出一個驅動程式自動化合成之方法與架構,並以此為根據實作出驅動程式自動產生器。針對系統晶片設計中非標準化IP,產生可於Linux作業系統環境中工作之驅動程式,並且提供字元式與區塊式兩種驅動程式類型。而所產生之驅動程式除了具備基本資料讀寫、以及控制目標裝置之能力外,還支援中斷與直接記憶體存取之功能。
由於驅動程式為應用軟體與硬體裝置之溝通橋樑,因此驅動程式本身之架構可粗略地分為三個部分:作業系統相關之溝通介面(OS dependent specifications),包含各種系統呼叫、核心函式等;硬體裝置相關之設定(HW dependent specifications)包括I/O暫存器設定與位址空間轉換等;以及支援硬體裝置特定功能或行為之韌體部分(User defined firmware)。使用者必須對這三個部分作描述,作為驅動程式自動產生器之輸入資訊。而驅動程式自動合成方法則是以Template-Based之設計方式,建立出程式樣板資料庫,根據使用者所於圖形化介面中所描述之輸入資訊,將適當之樣板組合成符合需求之驅動程式,因此可以快速產生所需之驅動程式,若要對驅動程式做修改時,也只需抽換部分樣板即可。此外,對於軟硬體之溝通方式,規劃了四種軟硬體溝通方式,能夠根據不同IP之特性,產生最合適之溝通方式,以達到提升系統效能之目的。最後,以若干軟硬體共設計之系統驗證驅動程式自動產生器,並且為各系統分別產生不同溝通方式之驅動程式,進而分析各系統使用不同溝通方式時之系統執行效能、以及軟硬體溝通效能。
This paper presents the framework of a baseline driver generator to facilitate the driver development for fast IP integration in SoC designs. The proposed baseline driver generator can handle both character and block type devices and is found useful for the integration of non-standard IPs. The driver generator can generate a baseline driver contains not only basic driver setting, hardware access/control functions and file operations but also interrupt and DMA functions.
Since application programs cannot have direct access to the hardware (IP) in the presence of OS, a driver is employed to serve the purpose. The code of a driver can be roughly divided into 3 sections. The first section is OS dependent and handles tasks such as interfacing with OS system calls and using OS kernel functions. The second section is hardware dependent settings and needs the knowledge of memory map and interface design. The third section is considered as the user defined firmware supporting specific functions needed for the driver operations. The proposed driver generator provides users with a GUI to capture these 3 specifications. Various pre-developed code templates can be instantiated subject to the specifications. The code templates are parameterized and users can characterize a desired driver through the parameter settings via GUI. Some design examples on the driver generation tool and various HW/SW codesign examples are presented to demonstrate the effectiveness of the proposed automation methodology.
第一章 緒論 1
1.1 研究背景 1
1.2 研究動機 2
1.3 驅動程式合成自動化之發展 3
1.3.1 Grammar-Based 設計方式 4
1.3.2 Template-Based 設計方式 6
1.4 論文架構 7
第二章 Linux驅動程式概論 8
2.1 作業系統基本概念 8
2.2 Linux核心簡介 8
2.3 裝置與模組之分類 9
2.3.1 字元式裝置(Character Device) 10
2.3.2 區塊式裝置(Block Device) 10
2.3.3 網路介面(Network Interface) 10
2.4 核心模組與應用程式 11
2.4.1 使用者空間與核心空間 12
2.5 Linux驅動程式的大架構 12
2.5.1 系統呼叫與驅動程式 13
2.6 字元裝置驅動程式(Character Device Driver) 15
2.6.1 裝置編號的配置與釋放 15
2.6.2 註冊字元式裝置 16
2.6.3 檔案作業函式 17
2.7 區塊裝置驅動程式(Block Device Driver) 19
2.7.1 註冊區塊式裝置 20
2.7.2 Request作業方法 21
2.8 系統記憶體之位址空間與記憶體映射 23
第三章 驅動程式自動合成之方法與架構 25
3.1驅動程式自動產生器之架構 25
3.1.1 作業系統相關之設定(OS Dependent Specifications) 25
3.1.2 硬體相關之設定(Hardware Dependent Specifications) 27
3.1.3 驅動程式自動產生核心與韌體編輯器 29
3.2 軟硬體溝通方式(HW/SW Communication Schemes) 30
3.2.1 Basic R/W + Polling 32
3.2.2 Basic R/W + Interrupt 34
3.2.3 DMA + Polling 35
3.2.4 DMA + Interrupt 36
3.3 驗證流程(Verification Flow) 38
第四章 驅動程式自動產生器之實作 39
4.1 驅動程式類型選擇視窗 39
4.2 驅動程式自動產生器之主視窗 40
4.3 作業系統相關之參數設定(OS Dependent Section) 41
4.3.1 Read/Write作業方法之參數設定 42
4.3.2 Ioctl作業方法之參數設定 43
4.3.3 Poll作業方法之參數設定 44
4.3.4 Mmap作業方法之參數設定 45
4.4 硬體相關之參數設定(Hardware Dependent Section) 46
4.4.1 硬體裝置I/O暫存器之參數設定 47
4.4.2 中斷功能之參數設定 48
4.4.3 直接記憶體存取之參數設定 49
4.4 使用者自訂之韌體功能設定(User Specific Section) 50
4.4.1 Read/Write附加功能設定 51
4.4.2 硬體裝置之控制功能設定 52
4.4.3 非遲滯作業之判斷條件設定 53
4.4.4 中斷服務常式設定 54
4.6 驅動程式自動產生器之檔案輸出 55
第五章 驅動程式自動產生器驗證與系統實作之效能分析 56
5.1建構系統發展平台之軟、硬體發展環境 56
5.1.1 建立Socle CDK Tool Chain 56
5.1.2 建立Samba Server 57
5.1.3 利用CIFS建立Socle CDK之網路磁碟機 58
5.2 系統簡介 59
5.2.1 JPEG編解碼器 59
5.2.2 DWT Based影像壓縮系統 61
5.2.3 人臉辨識系統 63
5.3 系統執行效能分析 65
5.3.1 硬體加速效能分析 65
5.3.2 系統總執行時間分析 67
5.4 軟硬體溝通效能分析 68
5.5 綜合討論 71
第六章 結論 73
參考文獻 74
[1] Jonathan Corbet, Alessandro Rubini & Greg Kroah-Hartman, “Linux Device Drivers”, 3rd edition, O’Reilly, Feb. 2005.
[2] Daniel P. Bovet, Marco Cesati, “Understanding The Linux Kernel”, 3rd edition, O’Reilly, Nov. 2005.
[3] Karim Yaghmour, “Building Embedded Linux Systems”, O’Reilly, Apr. 2003.
[4] Micbael Barr, Antbony Massa, “Programming Embedded Systems with C and GNU Development Tools”, 2nd edition, O’Reilly, Oct. 2006.
[5] Richard Stones, Neil Matthew, “Beginning Linux Programming”, 3rd edition, Wrox, Jun. 2004.
[6] S. Wang, S. Malik, and R. A. Bergamaschi, “Modeling and Integration of Peripheral Devices in Embedded Systems,” Design, Automation and Test in Europe Conference and Exhibition, 2003, pp. 136-141.
[7] M. O’Bils, and A. Jantsch, “Device driver and DMA controller synthesis from HW/SW communication protocol specifications”, Design Automation for Embedded Systems, Kluwer Academic Publishers, Vol. 6, No. 2, Apr. 2001, pp. 177-205.
[8] K. J. Lin, S. W. Chen, and J. L. Chen, “A Design Framework for Embedded Linux Drivers,” National Computer Symposium, Taiwan, pp. 1663-1668, 2003.
[9] K. J. Lin, S. H. Huang, and S. W. Chen, “A Hardware/Software Codesign Approach for Programmable IO Devices”, ACM GLSVLSI, Chicago, Apr. 2005.
[10] Q. L. Zhang, M. Y. Zhu, and S. Y. Chen, “Automatic Generation of Device Drivers”, ACM SIGPLAN Notices, pp.60-69, June 2003.
[11] T. Katayama, K. Saisho, and A. Fukuda, “Proposal of a Support System for Device Driver Generation,” Software Enqineering Conference, 1999.(APSEC ‘99) Proceedings. Sixth Asia Pacific, pp. 494-497, Dec. 1999.
[12] T. Katayama, K. Saisho, and A. Fukuda, “Prototype of the Device Driver Generation System for UNIX-like Operating Systems,” Principles of Software Evolution, 2000. Procedingsl. International Symposium on 1-2 Nov. 2000, pp. 302-310.
[13] M. O’Nils, and A. Jantsch, “Operating system sensitive device driver synthesis from implementation independent protocol specification”, DATE, pp. 563-567. 1999.
[14] M. O’Nils, J. Oberg, and A. Jantsch, “Grammar Based Modelling and Synthesis of Device Drviers and Bus Interfaces”, Euromicro Conference, pp. 55-58, Aug. 1998
[15] ISO/IEC IS 10918, Digital compression and coding of continuous-tone still images part I: equirements and guidelines, 1993 (JPEG)
[16] M. Antonini, M. Barlaud, P. Mathieu, and I. Daubechies, “Image Coding Using Wavelet Transform”, IEEE Trans. Image Processing, 1, 205-220, 1992.
[17] DCT in XviD. Summarized by: Andrej Rikovsky
[18] Xilinx ChipScope Pro 10.1 Software and Cores User Guide.
[19] Socle CDK Connectivity Specification
[20] http://linux.vbird.org/
[21] Jungo Ltd, WinDriver Users Guide, URL: http://www.jungo.com
[22] Bsquare, WinDK Users Manual, URL: http://www.bsquare.com
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top