(34.204.191.31) 您好!臺灣時間:2019/10/20 14:22
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果

詳目顯示:::

我願授權國圖
本論文永久網址: 
line
研究生:鍾文昌
研究生(外文):Wen-Chang Chung
論文名稱:Android作業系統移植之研究與實現
論文名稱(外文):The study and implementation of operating system porting for android
指導教授:梁文耀梁文耀引用關係
口試委員:張陽郎蘇慶龍方志鵬
口試日期:2009-07-10
學位類別:碩士
校院名稱:國立臺北科技大學
系所名稱:資訊工程系研究所
學門:工程學門
學類:電資工程學類
論文出版年:2009
畢業學年度:97
語文別:中文
論文頁數:132
中文關鍵詞:手機作業系統移植
外文關鍵詞:AndroidARMCellDevice driverEmbeddedGNU MakeGoogleKernelLinuxMobileOpen SourceOperating SystemPhonePortingPXA270
相關次數:
  • 被引用被引用:46
  • 點閱點閱:3373
  • 評分評分:系統版面圖檔系統版面圖檔系統版面圖檔系統版面圖檔系統版面圖檔
  • 下載下載:884
  • 收藏至我的研究室書目清單書目收藏:5
  近年來,智慧型手機崛起,伴隨著手機作業系統也逐漸受到重視,以往手機系統大多是各手機大廠自行研發且封閉的系統;但自從Google開始覬覦手機市場的廣告商機,而著手開發一個完全免費且開放式的手機軟體平台Android,全球各相關產官學界便開始爭相研究,也替Linux在智慧型手機市場注入一劑強心針。
  一般有能力移植Android的業界不願公開移植的步驟及流程,而學界則恐缺資源及人才,因此不易將Android移植至實際平台,我們不僅成功地將Android移植至PXA270,並公開移植的步驟、流程、所撰寫及修改的程式碼,使他人可以仿照此流程,建立Android的執行環境。
  本論文的重點在於移植的流程,而非硬體平台,此流程適用於多數的硬體平台,但不可能百分之百適用於所有的開發環境。我們為此打造一個全新的開發環境,使其在GNU Make支援下盡可能執行parallel make以縮短編譯時間。我們希望透過本論文能夠一窺Android的運作方式,並分享移植過程中所遇到的問題及解決方法。
  In recent years, with the appearance of smart phones, development of the operating systems for handheld devices has attracted more and more attention. In the past, the specifications and developments of the handheld devices are usually defined by the vendors in a propritory method. With the ambition to extend the market share in the mobile phone related industry, Google has started to develop a free and open source based software platform, called Android, for these kinds of devices. Since then, Android soon gets focus from the world-wide industry companies, government departments, and academic organization. This also helps the Linux community in its applications in embedded systems.
  We not only have ported Android into one of our embedded platform (a PXA270 board), but also we’d like to share our experience and detailed procedures to anyone who are interested in Android porting. The keypoint of this thesis is to emphasize the process of porting, instead of how to port it to any particular hardware platform. However, this process still depends on some of the hardware components that are used. The porting process involves many issues related to the hardware. These include the work of kernel porting, driver porting, and also some modification to the Android application framework and libraries.
  Based on our work, we hope that people who are interested in Android have the chance to get more understanding on how it work and how to realize it on their own platforms.
中文摘要 ........................................................................................................................... i
英文摘要 .......................................................................................................................... ii

誌 謝 .......................................................................................................................... iv
目 錄 ........................................................................................................................... v
表目錄 .......................................................................................................................... ix
圖目錄 ........................................................................................................................... x
第一章 緒論 ................................................................................................................... 1
1.1 前言 ................................................................................................................ 1
1.2 研究動機與目的 ............................................................................................ 1
1.3 研究貢獻 ........................................................................................................ 2
1.4 論文架構 ........................................................................................................ 3
第二章 Android 簡介 .................................................................................................... 4
2.1 硬體限制 ........................................................................................................ 4
2.2 軟體特色 ........................................................................................................ 5
2.3 開發環境 ........................................................................................................ 8
2.4 Linux 手機聯盟 .............................................................................................. 9
第三章 一般Embedded Linux System 簡介 ........................................................... 10
3.1 系統架構 ...................................................................................................... 10
3.2 開機流程 ...................................................................................................... 10
3.2.1 在ARM 架構下的開機流程 .............................................................. 11
3.3 開發流程 ...................................................................................................... 17
第四章 Android 移植步驟及流程 .............................................................................. 19
4.1 實驗平台PXA270 的硬體概況 .................................................................. 19
vi
4.2 準備工作 ...................................................................................................... 22
4.3 移植Linux kernel ......................................................................................... 24
4.3.1 使用工具 ............................................................................................. 26
4.3.2 可能遇到的問題及解決方法 ............................................................. 28
4.3.3 編譯Linux kernel ................................................................................ 30
4.3.4 測試Linux kernel ................................................................................ 30
4.4 整合性修改 .................................................................................................. 30
4.4.1 LCD ..................................................................................................... 32
4.4.1.1 Double Framebuffer ................................................................. 32
4.4.1.2 LCD 畫面閃爍 ........................................................................ 33
4.4.2 Keypad ................................................................................................. 33
4.4.3 Touch ................................................................................................... 34
4.4.4 編譯Android ....................................................................................... 40
4.4.5 init.rc .................................................................................................... 40
4.5 所有修改及新增的程式碼列表 .................................................................. 41
4.5.1 Linux kernel/device driver ................................................................ 41
4.5.2 Android ................................................................................................ 43
4.6 執行Android ................................................................................................ 44
4.7 移植成果 ...................................................................................................... 45
第五章 開發環境簡介 ................................................................................................. 48
5.1 一般傳統Building Environment 與Android Building Environment 簡介 48
5.2 我們的開發環境簡介 .................................................................................. 50
5.2.1 版本控制系統 ..................................................................................... 52
5.2.2 如何使用我們的開發環境 ................................................................. 54
5.2.3 測試平台 ............................................................................................. 59
vii
第六章 結論 ................................................................................................................. 61
參考文獻 ........................................................................................................................ 62
附錄A Shell 簡介 ........................................................................................................ 65
附錄B Framebuffer driver(pxafb.c) .................................................................. 66
附錄C pxafb.h ............................................................................................................ 69
附錄D Keypad driver(android_keypad.c) ......................................................... 70
附錄E Touch driver(ucb1400_ts.c) .................................................................... 80
附錄F init.rc ............................................................................................................... 85
附錄G linux-2.6.25-android-1.0_r1/Makefile .......................................................... 91
附錄H linux-2.6.25-android-1.0_r1/arch/arm/Makefile ......................................... 92
附錄I linux-2.6.25-android-1.0_r1/arch/arm/configs/android_pxa270_defconfig 9
3
附錄J linux-2.6.25-android-1.0_r1/arch/arm/kernel/head.S ............................... 103
附錄K linux-2.6.25-android-1.0_r1/arch/arm/mach-pxa/clock.c ......................... 104
附錄L linux-2.6.25-android-1.0_r1/arch/arm/mach-pxa/irq.c ............................. 105
附錄M linux-2.6.25-android-1.0_r1/drivers/cpufreq/Kconfig .............................. 106
附錄N linux-2.6.25-android-1.0_r1/drivers/i2c/chips/Makefile ........................... 107
附錄O linux-2.6.25-android-1.0_r1/drivers/input/keyboard/Kconfig ................. 108
附錄P linux-2.6.25-android-1.0_r1/drivers/input/keyboard/Makefile ............... 109
附錄Q linux-2.6.25-android-1.0_r1/include/linux/config.h .................................. 110
附錄R mydroid/cdma-import/build/core/definitions.mk ...................................... 111
附錄S mydroid/cdma-import/external/sqlite/dist/Android.mk........................... 112
附錄T mydroid/cdma-import/frameworks/base/core/jni/server/com_android_ser
ver_BatteryService.cpp ............................................................................... 113
附錄U mydroid/cdma-import/hardware/libhardware/power/power.c ............... 115
viii
附錄V 建立Android 執行環境的操作步驟 ........................................................... 116
附錄W Android 相關的參考資料 ............................................................................ 117
作者簡介 ...................................................................................................................... 119
[1] Linux Online - About the Linux Operating System, http://www.linux.org/info/
[2] Android | Official Website, http://www.android.com/
[3] The new T-Mobile G1 with Google cell phone – Official Site,
http://www.t-mobileg1.com/
[4] HTC - Products - HTC Dream – Overview,
http://www.htc.com/www/product/dream/overview.html
[5] Canonical developers aim to make Android apps run on Ubuntu - Ars Technica,
http://arstechnica.com/open-source/news/2009/05/canonical-developers-aim-tomake-
android-apps-run-on-ubuntu.ars
[6] Android port to MIPS completed - News - Linux for Devices ,
http://www.linuxfordevices.com/c/a/News/Android-port-to-MIPS-completed/
[7] Intel® PXA270 Processor for Embedded Computing – Overview,
http://www.intel.com/design/embeddedpca/applicationsprocessors/302302.htm
[8] Welcome (Android Open Source Project), http://source.android.com/
[9] The GNU Operating System, http://www.gnu.org/
[10] GNU Make - GNU Project - Free Software Foundation (FSF),
http://www.gnu.org/software/make/
[11] Android Emulator | Android Developers,
http://developer.android.com/guide/developing/tools/emulator.html
[12] What is Android? | Android Developers,
http://developer.android.com/guide/basics/what-is-android.html
[13] BSD licenses - Wikipedia, the free encyclopedia,
http://en.wikipedia.org/wiki/BSD_licenses
63
[14] Developing In Eclipse, with ADT | Android Developers,
http://developer.android.com/guide/developing/eclipse-adt.html
[15] Eclipse.org home, http://www.eclipse.org/
[16] Android 1.5 SDK, Release 2 | Android Developers,
http://developer.android.com/sdk/1.5_r2/index.html
[17] Qualcomm Home, http://www.qualcomm.com/
[18] Welcome to LiMo, http://www.limofoundation.org/
[19] Open Handset Alliance, http://www.openhandsetalliance.com/
[20] blob, a StrongARM boot loader | Get blob, a StrongARM boot loader at
SourceForge.net, http://sourceforge.net/projects/blob/
[21] Das U-Boot - Universal Bootloader | Get Das U-Boot - Universal Bootloader at
SourceForge.net, http://sourceforge.net/projects/u-boot
[22] BusyBox, http://www.busybox.net/
[23] ARM - The Architecture for the Digital World, http://www.arm.com/
[24] Get source (Android Open Source Project), http://source.android.com/download
[25] WinMerge, http://winmerge.org/
[26] Meld : Home Page, http://meld.sourceforge.net/
[27] Exuberant Ctags, http://ctags.sourceforge.net/
[28] Linux NFS faq, http://nfs.sourceforge.net/
[29] Java Development Kit - Wikipedia, the free encyclopedia,
http://en.wikipedia.org/wiki/Java_Development_Kit
[30] Memory Technology Device (MTD) Subsystem for Linux.,
http://www.linux-mtd.infradead.org/
[31] Android Debug Bridge | Android Developers,
http://developer.android.com/guide/developing/tools/adb.html
64
[32] strace | Get strace at SourceForge.net, http://sourceforge.net/projects/strace/
[33] YouTube - Broadcast Yourself。, http://www.youtube.com/
[34] YouTube - Android touch works smoothly on PXA270 (date: 20090515),
http://www.youtube.com/watch?v=lYzRSNuUsIw
[35] YouTube - Android keypad works fine on PXA270 (date: 20090415),
http://www.youtube.com/watch?v=3Ine1k4Hzy8
[36] YouTube - Android browser on PXA270,
http://www.youtube.com/watch?v=CNGhFmCwaxw
[37] Welcome to O''Reilly Taiwan!,
http://www.oreilly.com.tw/product_unix.php?id=a164
[38] subversion.tigris.org, http://subversion.tigris.org/
[39] Git - Fast Version Control System, http://git-scm.com/
[40] WebHome < U-Boot < DENX, http://www.denx.de/wiki/U-Boot
[41] JFFS2: The Journalling Flash File System, version 2,
http://sources.redhat.com/jffs2/
[42] YAFFS | A Flash file system for embedded use, http://www.yaffs.net/
[43] HTC - Products - HTC Magic – Overview,
http://www.htc.com/tw/product/magic/overview.html
[44] HTC, http://www.htc.com
[45] [Computex 2009] 第一天的意外驚喜,Acer Android 小筆電動手玩,
http://taiwan.cnet.com/digilife/0,2000089053,20138618-20001421c,00.htm
[46] Samsung I7500,Samusng 第一款Android 手機正式發表,
http://taiwan.cnet.com/crave/0,2000088746,20137861,00.htm
電子全文 電子全文(本篇電子全文限研究生所屬學校校內系統及IP範圍內開放)
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top
無相關期刊
 
系統版面圖檔 系統版面圖檔