隨着信息技術的不斷髮展,嵌入式系統已經普遍應用於工業和 家庭的各個領域。其複雜性也隨之不斷增長,嵌入式操做系統成爲了嵌入式系統中最重要的組成部分之一。在嵌入式操做系統中,Linux操做系統獲得了愈來愈 多的關注,Linux系統開源、具備精簡的內核以及優異的性能。另外,Linux2.6包含許多新的特性,爲其在嵌入式領域的應用提供了更多更好的支持, 嵌入式Linux系統將會有巨大的市場價值以及應用前景。基於2.6內核版本 的嵌入式ARM Linux,最終完成基於ARM9的嵌入式Linux系統移植開發。具體包括搭建開發平臺,創建嵌入式交叉編譯環境;在分析嵌入式系統引導加載程序 BootLoader的基礎上,結合本目標板修改Uboot源碼並進行Uboot的編譯和移植;經過分析嵌入式Linux系統的內核結構和啓動流程,實現 了針對本目標板的內核源碼修改、編譯以及移植;同時按照應用需求,選擇YAFFS2文件系統做爲根文件系統,並給出根文件系統實現的過程;最後開發終端外 圍設備相應的驅動程序,架構
移植的內容包括引導代碼u-boot、Linux內核和 Android文件系統的移植。u-boot是目標板上電後運行的第一個程序,其主要目的是初始化處理器和板級設備並完成Android內核的引導。修改 其源碼,使其支持項目中使用的目標板。Linux內核移植,主要是根據具體的硬件平臺裁剪內核。將必須的驅動編譯進內核,將可能用到的以模塊的形式加載到 內核,以便系統調用,將不須要的部分裁減掉。其中內核移植主要是驅動移植,驅動包括Nand Flash、SD、LCD。Android文件系統的移植主要是建立用戶空間,建立各類標準庫。性能
隨着嵌入式硬件技術的發展以及產品需求的同步發 展,Android在嵌入式領域中具備廣闊的應用前景。,並且移植方面的研究還處於技術封閉的階段, Android操做系統的移植及擴展驅動程序的關鍵技術進行研究。Android的系統組成和結構爲研究對象,深刻分析了 Android的架構組成、運行原理、Linux內核優化和圖形系統等。而後以S3C2440開發板爲系統移植目標平臺,重點分析了Android的 Linux內核的移植過程,並總結出Android操做系統移植過程的要點,最後給出一個Android擴展驅動程序設計的方案,主要在深刻研究 HAL和JNI技術的基礎上,對功能模塊進行分層設計,並在HAL模塊中使用HAL Stub技術對硬件抽象層進行了優化,最終實現了Android應用程序對新增硬件的支持。 優化