研究生: |
陳吳俊 Wu-chun Chen |
---|---|
論文名稱: |
基於Android核心架構之DVR系統研究 Design of Android-based DVR Systems |
指導教授: |
陳俊良
Jiann-Liang Chen |
口試委員: |
吳中實
none 劉馨勤 Hsin-Chin Liu 郭耀煌 none 郭斯彥 none |
學位類別: |
碩士 Master |
系所名稱: |
電資學院 - 電機工程系 Department of Electrical Engineering |
論文出版年: | 2011 |
畢業學年度: | 99 |
語文別: | 中文 |
論文頁數: | 60 |
中文關鍵詞: | Ashmem 、中介軟體 、SDK 、Kernel 、Hi3515 、DVR系統 |
外文關鍵詞: | Ashmem, Middleware, SDK, Kernel, Hi3515, DVR |
相關次數: | 點閱:309 下載:0 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
Android系統是Google為了踏入智慧型手機產業所提供一個開放式軟體平台,近年來,越來越多智慧型手機裝置採用Android為作業系統,代表Android系統的功能特性,已滿足部分人們生活上的需求,使其開放原始碼的特性,也讓開發者有很大的研究發展空間,尤其現在應用於其他非手持裝置產品的嵌入式系統,也漸漸地使用Android系統做為軟體開發的核心。
有別於一般Linux系統架構,Android系統把各個軟體層次結構:如核心層、應用層以及Android系統特有中介軟體層(Middleware)的部份,因此有些硬體平台只支援一般Linux系統架構可能無法展現Android系統特有功能,所以本文選用Hi3515為主要硬體核心架構所組成的嵌入式DVR(Digital Video Recorder)系統,在此DVR平台軟體架構只能支援一般的Linux Kernel系統和硬體核心架構的限制情形下,可能無法納入Android系統內部軟體架構裡所有層次,因此本文在Android系統軟體架構核心(Kernel)程式找出與一般Linux系統核心程式不同之處,做比較與分析該兩者核心程式看有多少功能上差異,然後進行修改程式把Android系統核心部份程式移植到一般Linux Kernel系統裡面,並且執行編譯程式,完成Android核心程式移植到一般Linux核心程式實作。
最後本文將上述兩者核心系統裡面的應用層,建立同樣多媒體應用程式,使DVR具有錄影(REC)跟回放(Playback)的功能,然後在具有Android核心系統的多媒體應用程式中,加入Ashmem功能,同時也將利用Linux系統top指令工具,來分析兩者不同核心系統的整體效能,因此得到分析結論是Android核心系統比一般的Linux系統可節省5%~10%整體系統效能,且維持DVR系統穩定性。
Google builds its smart phone industry by providing an open software platform, Android. Recently, more and more smart phones take Android as their operating system. Android smart phones help people to meet their daily communication and information needs. Being an open source operating system, Android gives developers a great space for research and development. Particularly, Android now is not only used in handheld devices, but also some non-embedded systems.
Unlike ordinary Linux system architecture, Android's architecture is divided into several levels such as the core layer, application layer, middleware layer, and Android system-specific part. So some common hardware platform supporting Linux system may not easily support Android system-specific features. Therefore, we use an embedded DVR (Digital Video Recorder) system with Hi3515 as our main hardware. This DVR architecture easily supports Linux Kernel, but it does not trivially support Android software architecture. This article is to find the differences between Linux, Android, the embedded DVR, and to port Android Kernel onto the embedded DVR.
Finally, for the ported Android and a general Linux Kernel, we build the same multimedia applications, so that the DVR can playback the video, and we also add Ashmem function. We use the Linux system top command tool After analyzing overall performance of two systems, we get a conclusion that the ported Android system is stable and has 5%~10% better performance than the general Linux Kernel.
[1] Welcome to Android Open Source, http://source.android.com/ (last visited April 27, 2011)
[2] Android Developer, http://developer.android.com/ last visited April 10, 2011)
[3] N.Vun, H.F. Hor and J.W. Chao, “Real-time Enhancements for Embedded Linux,”Proceedings of the IEEE International Conference on Parallel and Distributed Systems, pp. 737-739, 2008.
[4] M. Wojtczyk and A. Knoll, “A Cross Platform DevelopmentWorkflow for C/C++ Applications,” Proceedings of the Third International Conference on Software Engineering Advances” pp. 224-228, 2008.
[5] C. Lee, S. H. Baek and K. H. Park, “A Hybrid Flash File System Based on NOR and NAND Flash Memories for Embedded Devices,” Proceedings of the IEEE transactions on computers,” pp. 1002-1008, 2008.
[6] Hi3515 SOC, http://www.hisilicon.com/ (last visited April 6, 2011)
[7] J. Korst, V. Pronk, M. Barbieri, W. Verhaegh and W. Michiels, “Scheduling TV Recordingsfor a Recommender-Based DVR,” Proceedings of the IEEE 14th International Symposium on Consumer Electronics, 2010
[8] H. Jie and G.B.Zhang, “Research Transplanting Method of Embedded Linux Kernel Based on ARM Platform,” Proceedings of the International Conference of Information Science and Management Engineering, pp. 35-38, 2010.
[9] Android open source project, http://android.git.kernel.org (last visited March 9, 2011)
[10] Hi3515 API, “Hi3520/Hi3515 Media Processing Software Development Reference,” pp. 20-363, 2010.
[11] Lei Zhang and Zhengfeng Wang, “Design of Embedded Control System Based on ARM9 Microcontroller,” Proceedings of the International Conference on Electrical and Control Engineering, pp. 3579-3582, 2010.
[12] Alexsandro C. Bonatto, Soares, Andre B.,Susin and A. Altamiro, “Multichannel Sdram Controller Desing For H.264/AVC Video Decoder, ” Proceedings of the VII Southern Conference on Programmable Logic (SPL), 2011, pp. 137-142, 2011.
[13] W. H. Lee and J. H. Kim, “H.264 Implementation with Embedded Reconfigurable Architecture,” Proceedings of the Sixth IEEE International Conference on Computer and Information Technology (CIT'06), pp. 247-252, 2006.
[14] D.T. Vo and T.Q. Nguyen, “Quality Enhancement for Motion JPEG Using Temporal Redundancies,” Proceedings of the IEEE transactions on circuits and systems for video technology, pp. 609-619, 2008.
[15] ITU-R BT.656, http://en.wikipedia.org/wiki/ITU-R_BT.656 (last visited April 7, 2011)
[16] NTSC, http://en.wikipedia.org/wiki/NTSC (last visited April 20, 2011)
[17] PAL, http://en.wikipedia.org/wiki/PAL (last visited April 20, 2011)
[18] F. Zhang and Z. Li, “ The Technical Differences between Serial ATA and Ultra ATA Technology,” Proceedings of the International Forum on Information Technology and Applications, pp. 659-663, 2009.
[19] HTTP-Hypertext Transfer Protocol, http://www.w3.org/Protocols/ (last visited April 12, 2011)
[20] Framebuffer, http://en.wikipedia.org/wiki/Framebuffer (last visited May 3, 2011)
[21] X.W. Su, S.P. Wang, D.M. Zhu and Q. Zhu, “ RS-485 Serial Port Pseudo-full-duplex Communication Research and Application,”Proceedings of the Prognost ics and System Health Management Conference, 2010.
[22] C-W. Chang, C-Y. Lin, C-T. King, Y-F. Chung, S-Y. Tseng, “ Implementation of JVM Tool Interface on Dalvik Virtual Machine,” Proceedings of the International Symposium on VLSI Design Automation and Test (VLSI-DAT), pp. 143-146, 2010.
[23] Y. WU, J. Luo and L. Luo, “ Porting mobile web application engine to the Android platform,” Proceedings of the IEEE International Conference on Computer and Information Technology, pp. 2157-2161, 2010.
[24] Android Architecture | Android Developers http://developer.android.com/guide/basics/what-is-android.html (last visited May 12, 2011)
[25] O. Purdila, L. A. Grijincu and N. Tapus, “LKL: The Linux Kernel Library,” Proceedings of the 9th RoEduNet IEEE International Conference, pp. 328-333, 2010.
[26] N. Kuzmanovic, T. Maruna, M. Savic and G. Miljkovic, “Google’s Android as an application environment for DTV decoder system,” Proceedings of the IEEE 14th International Symposium on Consumer Electronics, pp. 1-5, 2010.
[27] Android Low Memory Killer, http://www.netmite.com/android/mydroid/development/pdk/docs/intro_source_code.html (last visited May 16, 2011)
[28] MemoryFile | Android Developers, http://developer.android.com/reference/android/os/MemoryFile.html (last visited May 2, 2011)
[29] Android-logger, http://code.google.com/p/android-logger/ (last visited May 3, 2011)
[30] Android Linux kernel additions, http://www.lindusembedded.com/blog/2010/12/07/android-linux-kernel-additions/ (last visited May 3, 2011)
[31] The Nano-X Windows System, http://www.microwindows.org/ (last visited April 7 , 2011)
[32] Malloc - a memory allocator, http://pubs.opengroup.org/onlinepubs/009695399/functions/malloc.html (last visited April 11, 2011)
[33] WANG Li –xin, and KANG Jing, “MMAP System Transfer in Linux Virtual Memory Management,” Proceedings of the First International Workshop on Education Technology and Computer Science, pp. 675-679, 2009.
[34]Top (Software), http://en.wikipedia.org/wiki/top_command (last visited April 13, 2011)