跳到主要內容

臺灣博碩士論文加值系統

(54.92.164.9) 您好!臺灣時間:2022/01/23 04:40
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

我願授權國圖
: 
twitterline
研究生:鄭豪裕
論文名稱:嵌入式Linux在SOC中的移植、模組化及縮減之研究
論文名稱(外文):A study embedded Linux on the SOC:issues for porting, modularity and downsize
指導教授:歐陽彥杰
學位類別:碩士
校院名稱:國立中興大學
系所名稱:電機工程學系
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2002
畢業學年度:90
語文別:中文
論文頁數:142
中文關鍵詞:嵌入式系統嵌入式作業系統Linux系統單晶片矽智財軟體智財程式碼縮減圖形化使用者介面
外文關鍵詞:embedded systemembedded operation systemLinuxSOCintellectual propertysoftware intellectual propertydownsizingGUI
相關次數:
  • 被引用被引用:2
  • 點閱點閱:1045
  • 評分評分:
  • 下載下載:0
  • 收藏至我的研究室書目清單書目收藏:0
由於系統單晶片(System-On-Chip, SOC)是以RISC為核心並與DSP、記憶體控制器和通訊單元等整合為一顆晶片,所以具有省電、可程式化訂製的特性,並且因成本低所以受到嵌入式手持式設備和無線傳輸設備的廣泛應用。但由於各家IC設計公司的SOC並沒有標準的軟硬體發展平台,所以本篇提出以嵌入式Linux的開放式原始程式碼以及其穩定、完整的網路能力和模組化的設計,研究將嵌入式Linux移植到SOC平台上,並且Linux的通訊協定也能在SOC的實驗平台正常運作,並利用其模組化的特性設計為可重覆使用的BSP之軟體智財IP,使其可針對不同的硬體平台可以重新設定,將來在SOC平臺間移植時,可依不同的硬體環境參數,調整以符合自己的需求。
由於Linux系統核心程式通常先存在Flash ROM中,執行時再載入到記憶體,系統核心或應用程式的執行也因此受限於記憶體。但是因為Linux功能完整,所以最初安裝在桌上型電腦上不含系統核心的最少佔了40Mbytes,但系統廠商為了減省成本,通常不會在SOC的外部電路再加掛記憶體,所以我們提出的方法是將嵌入式Linux的四個部份:系統核心、共享程式庫、RAM Disk、應用程式,進行程式碼的縮減之研究。經過縮減後,我們實驗分析結果為,可以得到較小的RAM disk與嵌入式Linux系統映像檔,並且可因此提升系統核心的記憶體複製和通訊協定之效能。

SOC (System-On-Chip) processors are typically based on a RISC core packaged together with integrated peripherals such as DSP, FPGA and Memory controller on a single chip, therefore the character of SOC are low power, customizable, and immensely popular in embedded hand-held and wireless device. There is no standard for the hardware and software design on SOC platform. We are planning to utilize the Embedded Linux which has open source code, stability, network ability and modular design. Our research is focusing on porting the Linux source code to a SOC device. A modular design method is used for the BSP of Linux design to support the IP (Intellectual Property) reuse so that it can be fitting for different platform.
The Linux-based SOC device and system kernel may resides in Flash ROM, therefore the execution of application must be limited. The minimum system needed to install the Red Hat Linux for set-up disks and exclusive of the kernel is about 40 megabytes. To reduce the cost, the manufacture doesn't usually add extra memory on the SOC board. In this thesis, we propose an approach that is based on Linux operation system. We analyze the kernel, libraries, RAM disk and applications then try to reduce the code size. After code reduction, we analyze the performance of the Linux kernel by using memory copy and communication protocol. Simulation results show we have better performance and smaller RAM disk image and memory image.

第一章 緒論 1
1.1 簡介 1
1.2 動機與目的 4
1.3 相關研究 10
1.3.1可程式化的ASIC-內含7顆CPU的網路處理器 SOC 10
1.3.2 內含CPU、FPGA的SOC 11
1.3.3 VxWorks 、WinCE、QNX、pSOS、Linux嵌入
式作業系統 12
1.3.4 可再使用矽智財(IP)工具 3DE 15
1.4 論文成果與貢獻 17
1.5 論文架構 19
第二章 嵌入式Linux在SOC的系統架構 20
2.1 系統功能與應用實例:寬頻接取家庭無線網路閘道器 20
2.2 系統架構的組成 24
2.2.1 嵌入式Linux的架構及核心原始碼簡介 24
2.2.2 Linux 支援的CPU Plantform 28
2.2.3 嵌入式Linux支援的通信協定 29
2.2.3.1 TCP/IP家族系列的通訊協定 31
2.2.3.2 無線通訊協定(Wireless Protocol)的支援 34
2.3 移植與可攜性的優勢 35
2.4 整合發展環境與偵錯環境 36
2.5 模組化及視窗化BSP在Linux核心設定使用者界面 40
2.6 硬體描述層 41
2.7 與硬體無關部份—系統核心 43
第三章 移植嵌入式Linux到Power PC的SOC 47
3.1 移植嵌入式Linux到Power PC的架構 47
3.1.1 PowerPC 的記憶體與I/O 48
3.1.2 PowerPC 的暫存器 49
3.1.3 CPU的Demo Board週邊設備與電路簡介 51
3.2 針對CPU Platform平台而修改核心原始碼的實作 53
3.2.1 設計理念 53
3.2.2 記憶體對映配置 56
3.2.3 設計模組化的可重覆使用之跨平台BSP 56
3.2.3.1 設計成GUI介面的模組化BSP 56
3.2.3.2 Linux的啟動流程 61
3.2.3.3 改寫硬體抽象層的原始程式碼 64
3.2.3.3.1 設計對主機板週邊硬體初化
的BIOS啟動程式碼 66
3.2.3.3.2 RAM Disk檔案系統的製作 78
3.2.3.3.3 設計對作業系統與CPU初始化
的進入核心前啟動程式碼 81
3.2.3.4 改寫與硬體無關的初始化啟動流程 87
3.2.3.5 將通訊設備驅動程式移植到新平台 88
3.2.1.5.1 PowerPC的通訊模組架構 88
3.2.1.5.2 RS232 91
3.2.1.5.3 Ethernet 93
3.3 結論 93
第四章 縮減移植及整合後的嵌入式Linux 95
4.1 寬頻網路閘道器SOC未縮減前的記憶體需求 95
4.2 縮簡Linux Kernel的大小 99
4.3 縮減RAM DISK檔案系統 104
4.3.1 利用BusyBox來縮減操作環境所需的Linux指令 工具程式 105
4.3.2 縮減共享程式庫Share Libraries 105
4.3.3以專為嵌入式系統設計成較精簡的應用程式取代 109
4.3.4 縮減後成效分析與Pocket PC(WinCE)程式碼大小 的比較 110
第五章 實驗結果與分析 111
5.1 實驗環境 111
5.2 移植後的嵌入式Linux系統之記憶體複製及讀寫之 頻寬的效能比較分析 112
5.3 TCP網路協定傳輸效能比較分析 122
5.4 縮減後成效分析及與其它嵌入式作業系統程式碼大小 之比較與分析 128
5.5 實驗總結:縮減嵌入Linux系統後對效能影響之比較
與分析 133
第六章 結論與未來工作 139
參考文獻 140

[1] 胡竹生, 嵌入式系統設計實驗室,
http://xlab.cn.nctu.edu.tw/embeded/definition.html
[2] Hanry Chang, Larry Cooke, Merrill Hunt, Grant Martin, Andrew J.
McNelly, Lee Todd, “Surving the SOC Revolution “, Kluwer
Acdemic Publishers, 1999
[3] The LinuxBIOS Home Page, http://www.acl.lanl.gov/linuxbios/
[4] PowerPC Boot : ppcboot Home Page, http://ppcboot.sourceforge.net/
[5] 探矽工作室,” 嵌入式系統開發聖經 ”, 學實行銷股份有限公司, 2001
[6] RedHat EL/IX Home Page, http://sources.redhat.com/elix/
[7] eCos Home Page, http://sources.redhat.com/ecos/
[8] Evans data Inc, http://evansdata.com/
[9] 台灣通訊,” 引領網路處理與儲存邁入新境界 “,
http://www.taiwantelecom.com.tw/
[10] 中國CIMS實驗室,” 基于Linux的嵌入式操作系統研究 ” ,
中國CIMS實驗室學士論文, 2000
[11] 林盈達,梁元彪,” 縮減Linux嵌入式系統軟體:方法與實例 ”,
TANET 2001台灣區網際網路研討會暨網路學習與續專業教育國際會議論文,
http://www.ccu.edu.tw/TANET2001/
[12] David Kalinsky,” 用於嵌入式系統軟體開發的可再使用IP ”,
電子工程專輯, http://www.eettaiwan.com/
[13] 張瑞川, ” Real-Time Operating System and SOC “, 演講講義
[14] Base on Linux OpenAP 802.11b Access Point Home Page, http://opensource.instant802.com/home.php
[15] Bill Weinberg, ”Embedded Linux for Handheld & Wireless Applications”, http://www.intel.com/pca/developernetwork
[16] Lineo Inc. Home Page, http://www.lineo.com
[17] 王學龍,” 嵌入式Linux系統設計與應用 ”,
中國清華大學出版社, 2001
[18] AlLESSSANDRO RUBINI, “Linux Device Driver “, 2nd Edition, O’REILLY, 2001
[19] 許晉嘉,” 以Linux為基礎之資料傳輸系統之軟體設計 ”,
國立台灣科技大學, 碩士論文(90)
[20] 陳贊宇,“ 元件式基礎之嵌入式作業系統 ”, 國立交通大學,
碩士論文(89)
[21] Motorola, “MPC8XXFADS User’s Manual”, January, 1998
[22] MontaVista Inc.,http://www.mvista.com/, “Hard Hat Linux 2.0 Journeyman Edition”, May, 2001
[23] MPC860 Manual, http://www.embeddedplanet.com/
[24] Joseph Pranevich,“ 如何貢獻Linux核心-談Linux之設定系統 ”, 凌客誌, 2000
[25] David Mosberget and Stephane Eranian, ”ia-64 linux kernel”, Hewlett-Packard Company, 2002
[26] BusyBox Home Page, Http://busybox.line.com/
[27] Tom Fawcett, 朱漢農, “Linux Boot Disk HowTo“, v4.0
http://www.linpus.com.tw/nicedoc/CLDP/assigned.html
[28] SourceForge.net: Project Info — Library Optimizer Home Page, http://sourceforge.net/projects/libraryopt
[29] uClibc : A C library for embedded systems Home Page,
http://www.uclibc.org/
[30] Newlib Home Page, http://sources.redhat.com/newlib/
[31] Aaron B.Brown,Margo I. Seltzer, Harvard University, ”Operating System Benchmarking in the Wake of Lmbench : A Case Study of the Performance of NetBSD on the Intel x86 Architecture”,
Usenix paper
[32] Bradford, “Run Time: Block memory copy”, IBM developerWorks, http://www-900.ibm.com/developerWorks/linux
[33] Larry MC Voy and Carl Staelin,"lmbenc:Portable toools for performance analysis", Usenix 1996 Annual Technical Conference San Diego, California, January 1996
[34] TTCP manual page, available via anonymous FTP from sgi.com in
~ftp/sgi/src/ttcp
[35] Gunningberg, P. Bjorkman, M. Nordmark, E. Pink, S. Sjodin, P. Stromquist, J.-E. “ Application protocols and performance benchmarks ”, IEEE Communications Magazine, Volume: 27,
June 1989
[36] 嚴育屏,” Linux與WinCE在SOC嵌入式系統上移植與模組化設計 ”, 零組件雜誌, 2001
[37] Victor Yodaiken, Michael Brananov, RTLinux Version Two, VJY Associates LLC, http://www.rtlinux.org/
[38] Victor Yodaiken,“The RTLinux Manifesto”, Department of Computer Science, New Mexico Institute of Technology, http://www.rtlinux.rog/

QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top