| 研究生: |
石宗胤 Shih, Tsung-Yin |
|---|---|
| 論文名稱: |
基於Android系統的驅動程式框架自動產生器 Automatic Driver Framework Generator For Android Based System |
| 指導教授: |
蘇文鈺
Su, Wen-Yu |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 資訊工程學系 Department of Computer Science and Information Engineering |
| 論文出版年: | 2011 |
| 畢業學年度: | 99 |
| 語文別: | 中文 |
| 論文頁數: | 35 |
| 中文關鍵詞: | Android 、驅動程式 、硬體抽象層 、程式碼產生器 |
| 外文關鍵詞: | Android, Device Driver, Hardware Abstraction Layer, Generator |
| 相關次數: | 點閱:110 下載:1 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
Android是基於Linux Kernel專門替智慧型行動電話所設計的作業平台,是一多層的架構,根據不同的用途切分成Application層、Application Framework層、Libraries層、Android Runtime層、Linux Kernel層。這樣分層的好處於在上層實作的Developer不需關心下層如何運作,只要使用系統所提供的API即可完成程式的撰寫。
但Android這種多層的架構造成一個問題,當有新的硬體裝置要加入既有的系統時,反而因為這種多層的架構造成困難,需要每一層都添加與硬體裝置相關的程式碼才可使上層的程式控制硬體,無法如同一般的Linux Base系統撰寫driver和一個控制的程式即可順利控制。
本論文提出了一個方便的作業流程並根據流程實作出程式碼產生器和方便編譯的工具,使用者只要提供硬體相關的規格資訊,即可利用該程式碼產生器產生與所要加入的裝置相關的程式碼,其中所產生的程式碼包括了Android每一層所需要的程式碼,接著再利用該編譯工具即可產生一個可測試硬體裝置的自訂Android平台,達到減少新增硬體裝置到現有Android系統的困難度。
Android is a operation platform based on Linux Kernel and designed for smart phones. Android is separated into layers according to different functionalities. Android could be separated into Application Layer, Application Framework Layer, Android Runtime Layer, Libraries Layer and Linux Kernel Layer. Advantages of Layers are that developers don’t care about implementation of lower layers when coding in higher layers. Only use API supplied by Android to complete whole applications.
Although separating layers takes many advantages, it makes a problem. When adding a new hardware device into Android, the multiple layers make difficulties. Through adding the related codes into every layer, applications just could control the new hardware device. Not like Linux based system, just write a driver for this device and a control program.
This paper describes a convenient working flow and implements code generators, build tool according to this working flow. Developers only supply the spec and information of hardware added, and code generator could generate the codes related on this hardware. The generated codes include the needed codes of every layer. Finally using the build tool produces a customized Android platform that could test hardware devices in order to reduce the difficulties of adding hardware into Android.
[1] Android Developers Home. http://developer.android.com/index.html
[2] Android Open Source Project. http://source.android.com/index.html
[3] Jonathan Corbet, Alessandro Rubini & Greg Kroah-Hartman. “Linux Device Drivers, 3e” ISBN: 986-7794-73-4; February, 2005
[4] Jollen Blog. http://www.jollen.org/blog/
[5] Patrick Brady, Anatomy & Physiology of an Android, 2008 Google I/O Session
[6] Buaadallas Blog. http://buaadallas.blog.51cto.com/