簡易檢索 / 詳目顯示

研究生: 馬漢裕
Ma, Han-Yu
論文名稱: 多媒體系統之嵌入式即時作業系統實作
Implementation of an Embedded Real-Time Operating System for a Multimedia System
指導教授: 楊中平
Young, Chung-Ping
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 資訊工程學系
Department of Computer Science and Information Engineering
論文出版年: 2006
畢業學年度: 94
語文別: 中文
論文頁數: 110
中文關鍵詞: 嵌入式系統即時作業系統檔案系統
外文關鍵詞: file system, real-time operating system, embedded system
相關次數: 點閱:69下載:1
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • μC/OS-II 是一套開放原始碼的嵌入式即時作業系統,但是它只具備了作業系統最
    基本的程序管理、記憶體管理及時間管理這三項功能,雖然這三項功能已足夠應付簡單
    的控制,但對於多媒體影音的嵌入式系統而言,檔案管理系統則是另一項必備的功能,
    因此本論文將實作一個適用於μC/OS-II 的FAT32 檔案系統,在ARM CPU 架構的平台上
    發展出一個嵌入式即時多媒體系統。
    在實作檔案系統的過程中,必須有動態記憶體管理支援,但是μC/OS-II 所提供記
    憶體管理功能是屬於靜態的記憶體管理,因此本論文也實作了一個動態記憶體管理系
    統,此動態記憶體管理系統除了檔案系統的實作必備之外,也可提供給其它應用程式使
    用。
    為了多媒體的支援,本論文還將JPEG 圖片解碼程式庫(LIBJPEG)及MP3 解碼程式庫
    (LIBMAD)移植到μC/OS-II,由於我們實作的檔案系統是符合POSIX 標準,因此在移植的
    過程可以不用做任何的程式碼修改。
    μC/OS-II 具有即時(Real-Time)的特性,擁有最高權限的程序(Task)會一直使用
    CPU 資源,直到程式結束,然而有時候我們希望能夠也有時間共享(Time Sharing)的機
    制,讓每個程序都能使用CPU,因此本論文也將修改μC/OS-II 的程序管理,讓系統除了
    具有即時的特性之外,同時也能具有時間共享(Time-Sharing)的機制。
    嵌入式系統中,良好的使用者圖形操作介面(GUI)也是必備的功能,本論文也實作一
    個簡單的GUI 介面,讓使用者能夠透過觸控式螢幕,直接和系統溝通,為了方便中文使
    用者的操作,本論文也提供了中文點陣字型的支援,我們針對現有BDF 及PCF 點陣字型
    的缺點,改良成為一種新的點陣字型檔案儲存格式HCF,它的檔案大小是原始BDF 字型
    檔的五分之一,非常適合用在嵌入式系統上使用。

    μC/OS-II is a open source embedded Real-Time Operating System. But it only has three basic
    functions task management, time management and memory management of Operating System.
    Alought these function is enouhgt for simply control, but it is essential to have FileSystem
    support for an embedded multimedia system. In this paper, we develop a FAT32 FileSystem in
    μC/OS-II based on ARM platform, and then implement an embedded multimedia system.
    It is essential to have dynamic memory management (DMM) support. But the μC/OS-II only
    supports static memory management. So we implement a DMM at first. This DMM can
    supply dynamic allocate functions for FileSystem and other application.
    In order to support multimedia, we port the MP3 decode library, LIBMAD and JPEG decode
    library, LIBJPEG to our system too. Because the files operating function supplied by our
    FileSystem are follow POSIX standard. So we can port LIBJPEG and LIBMAD library to our
    system easily. And without change any source code.
    μC/OS-II is a real-time Operating System. The highest priority task will have CPU resource
    until finished. The lower priority task must wait until highest finished. But somethime, we
    may need it support time-sharing, let every task can sharing the CPU resource. In this paper,
    we will fix the μC/OS-II scheduler mechanism, let μC/OS-II support real-time and non
    real-time task at the same time.
    Recently, Graphaic User Interfac (GUI) became a necessary function for embedded system.
    We implement a simple GUI , user can communication with embedded system by touch panel.
    And for Chinese user convenience, we also implement Chinese font support by using bitmap
    font. We create a new bitmap font file format HCF by fixing the BDF and PCF font file format.
    And HCF is one-fifths file size then original BDF. It is more suited to embedded system.

    中文摘要 IV ABSTRACT V 誌謝 VI 第一章 簡介 1 1.1 嵌入式作業系統 1 1.2 即時作業系統 2 1.3 作業系統的基本概念 2 1.4 集成式核心 V.S. 微核心 3 1.5 研究動機 3 1.6 相關研究 4 1.7 系統軟體架構圖 5 第二章 作業平台 8 2.1 硬體平台 8 2.2 軟體開發平台 9 2.3 記憶體規劃 10 2.4 Bootloader 13 2.5 Debugger 13 第三章 ARM處理器 15 3.1 設定匯流排工作頻率 15 3.2 設定中斷頻率 17 3.3 設定ISR 19 第四章 μC/OS-II 22 4.1 移植μC/OS-II到ARM的平台 22 4.2 μC/OS-II的記憶體管理 23 4.3 μC/OS-II的程序管理 25 第五章 動態記憶體管理 29 5.1 μC/OS-II的記憶體配置 29 5.2 Lazy Fit 記憶體配置 30 5.3 改良Lazy Fit記憶體配置 32 5.4 uCLinux記憶體配置 33 5.5 混合Lazy Fit及uCLinux的記憶體配置 33 5.6 實作動態記憶體管理系統 34 5.7 本章小結 36 6.1 裝置驅動簡介 37 6.2 實作裝置驅動管理 38 6.3 驅動程式的撰寫 39 6.4 本章小結 40 第七章 檔案系統 42 7.1 檔案系統架構 42 7.2 檔案系統的資料結構 44 7.3 快取機制 45 7.4 檔案系統實作 47 7.5 Ramdisk 48 7.6 簡單的SHELL程式 49 7.7 移植LIBJPEG到μC/OS-II 50 7.8 移植LIBMAD到μC/OS-II 52 7.9 本章小結 53 第八章 圖形介面 54 8.1 LCD面板 54 8.2 基本的繪圖元件 55 8.3 實作多媒體播放器 55 8.4 本章小結 57 第九章 中文字型支援 58 9.1 BDF 58 9.2 PCF 65 9.3 HCF 65 9.4 本章小結 69 第十章 排程控制器 70 10.1 即時及非即時程序同時存在 70 10.2 排程控制器的演算法 71 10.3 實作排程控制器 72 10.4 排程控制器測試 73 10.5 多媒體程序 74 10.6 本章小結 75 第十一章 效能分析 76 11.1 系統大小 76 11.2 效能分析 77 第十二章 結論 89 12.1 總結 89 12.2 未來與展望 89 參考文獻 90 附錄 93 作者簡歷 110

    [1] A. S. Tanenbaum and A. S. Woodhull, “Operating Systems : Design and
    Implementation", Prentice Hall, 1997.
    [2] Andrew N. Sloss, Dominic Symes, Chris Wright and John Rayfield, “ARM System
    Developer's Guide: Designing and Optimizing System Software", Morgan
    Kaufmann, 2004.
    [3] Adobe, “Glyph Bitmap Distribution Format (BDF) Specification v2.2",
    http://partners.adobe.com/public/developer/acrobat/index_advanced.html, 1993.
    [4] “C Standary Library",
    http://www.utas.edu.au/infosys/info/documentation/C/CStdLib.html.
    [5] J.J Labrosse, “Micro C/OS-II: The Real-Time Kernel, 2ed", CMP Books, 2002.
    [6] Jonathan Corbet, Alessandro Rubini and Greg Kroah-Hartman , “Linux Device
    Drivers, 3ed", O'Reilly, 2006.
    [7] Karim Yaghmour, “Building Embedded Linux Systems", O'Reilly, 2003
    [8] L. Abeni, G. Buttazzo, "Integrating multimedia applications in hard
    real-time systems,4 in Proceedings of the 19th IEEE Real-Time Systems
    Symposium, 3-13, IEEE Computer Society Press, 1998.
    [9] LIBJPEG official site
    http://www.ijg.org.
    [10] LIBMAD official site
    http://www.underbit.com.
    [11] Microsoft, “FAT32 File System Specification.",
    http://www.microsoft.com/whdc/system/platform/firmware/fatgen.mspx, 2000.
    [12] M.J.Bach, “The Design of The UNIX Operating System", Prentice Hall, 1986.
    [13] Nucleus official site
    http://www.mentor.com.
    [14] Taga Nayuta, “pcf2bdf Source Code v1.04",
    http://www.tsg.ne.jp/GANA/S/pcf2bdf/index.html.
    [15] Qing Li, Caroline Yao, " Real-Time Concepts for Embedded Systems", CMP Books,
    2003.
    [16] QNX official site
    http://www.qnx.com.
    [17] Robert Love, “Linux Kernel Development 2ed", Novell Press, 2005.
    [18] SamSung, “S3C2410X 32-BIT RISC MICROPROCESSOR USER'S MANUAL v1.2",
    http://www.samsung.com/Products/Semiconductor/MobileSoC/ApplicationProcessor/
    ARM9Series/S3C2410/S3C2410.htm, 2003.
    [19] Sony-fixed PCF font
    ftp://ftp.tnc.edu.tw/pub/freefont/bitmap/
    [20] Taipei16 BDF font
    http://www.lib.rpi.edu/dept/acm/packages/chinese-fonts/1.0/
    [21] Trace32 official site
    http://www.lauterbach.com/company.html.
    [22] uClinux official website
    http://www.uclinux.org.
    [23] VxWORKS official site
    http://www.windriver.com/portal/server.pt
    [24] Yoo C. Chung, Soo-Mook Moon, “Memory Allocation with Lazy Fits", ISMM, 2000.
    [25] 長高科技公司官方網站
    http://www.dmatek.com.tw/tn/index.asp.
    [26] 洪文彬, “嵌入式微核心系統之設計與實作", 碩士論文, 2005.
    [27] 徐千洋, “Linux C 函式庫參考手冊", 旗標出版, 2001.
    [28] 探矽工作室、胡繼陽、李維仁、柯力群、張志龍, “嵌入式系統導論, 3ed", 學貫出版,
    2004.
    [29] 維基線上百科全書
    http://en.wikipedia.org/wiki/VxWorks
    [30] 趙烔, “Linux Kernel 完全剖析", 博碩文化, 2005.
    [31] 新華電腦股份有限公司, “ARM9 S3C2410 嵌入式 SOC 實作", 新華電腦, 2005.

    下載圖示 校內:2009-09-13公開
    校外:2009-09-13公開
    QR CODE