搭建Android開發環境

  本章講解了Android移植的第一步,主要學習如何搭建Android移植的環境。由於Android底層是基於Linux內核的。因此,咱們從搭建交叉編譯環境開始,包括交叉編譯環境、各類服務程序和應用程序的安裝、配置和使用。不一樣的體系結構、不一樣的操做內容甚至是不一樣版本的內核,都會用到不一樣的交叉編譯器。選擇交叉編譯器很是重要,有些交叉編譯器常常會有部分的Bug,都會致使最後的代碼沒法正常運行。linux

  構建開發環境是任何開發工做的基礎,對於軟硬件很是豐富的嵌入式系統來講,構建高效、穩定的環境是可否開展工做的重要因素之一。Android移植與Android應用程序開發有很大不一樣,具體流程以下:小程序

(1)   下載Android內核;架構

(2)   熟悉開發環境和工具。交叉開發環境是Android系統移植開發的基本模擬。Linux環境配置、GUN工具鏈、測試工具甚至集成開發環境都是Android系統移植的利器。函數

(3)   熟悉Linux內核。由於Android系統移植開發通常須要從新定製Linux內核,因此熟悉內核配置、編譯、移植很重要。工具

(4)   熟悉目標板引導方式。開發板的Bootloader負責硬件平臺最基本的初始化,而且具體引導Linux內核啓動的功能。因爲硬件平臺是專門定製的,通常須要修改編譯Bootloader。學習

  交叉編譯器完整的安裝通常涉及多個軟件的安裝,包括binutils、gcc、glibc、glibc-linuxthreads軟件。其中,binutils主要用於生成一些輔助工具,如readelf、objcopy、objdump、as、ld等;gcc是用來生成交叉編譯器的,主要生成arm-Linux-gcc交叉編譯工具;glibc主要提供用戶程序所使用的一些基本的函數庫,glibc-linuxthreads是線程相關的函數庫。這樣,交叉編譯環境就搭建起來了。測試

  Bootloader是在操做系統運行以前執行的一小段程序。經過這段小程序,咱們能夠初始化硬件設備、創建內存空間映像表,從而創建適當的系統軟硬件環境,爲最終調用操做系統內核作好準備。對於嵌入式系統,Bootloader是基於特定硬件平臺來實現的。所以,幾乎不可能爲全部的嵌入式系統創建一個通用的Bootloader,不一樣的處理器架構都有不一樣的Bootloader。Bootloader不但依賴於CPU的體系結構,並且依賴於嵌入式系統板級設備的配置。對於兩塊不一樣的嵌入式板而言,即便他們使用同一種處理器,要想讓運行在一塊板子上的Bootloader程序也能運行在另外一塊板子上,通常也須要修改Bootloader的源程序。反過來,大部分Bootloader仍然具備不少共性,某些Bootloader也可以支持多種體系結構的嵌入式系統。例如:U-Boot就同時支持PowerPC、ARM、MIPS和X86等體系結構,支持的板子有上百種。一般,他們可以自動從存儲介質上啓動,都可以引導操做系統啓動,而且大部分都支持串口和以太網接口。spa

  爲了驅動目標板,必須先作好Bootloader、操做系統內核及文件系統。操作系統

相關文章
相關標籤/搜索