| 研究生: |
馬漢裕 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.
[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.