標籤:
本章主要學的是傳統嵌入式開發與Android系統之間的關係。
首先介紹的是嵌入式系統,按照IEEE的定義,嵌入式系統是用來控制,監控活輔助操作機器,裝置,工廠大規模系統的裝置。一般的定義則是表示:嵌入式是指以應用為中心,以電腦技術為基礎,軟硬體可裁剪,適應應用系統對功能,可靠性,成本,體積,功耗嚴格要求的專用電腦。由於嵌入式系統具有以下一些特點:(1)專用、軟硬體可剪裁配置。 (2)低功耗、高可靠性、高穩定性。 (3)軟體代碼短小精悍。 (4)代碼可固化 (5)即時性 (6)弱互動性 (7)嵌入式系統軟體開發通常需要專門的開發工具和開發環境。 (8)要求開發、設計人員有較高的技能。因此嵌入式系統最近幾年的發展也是越來越迅速。
嵌入式系統是由三部分組成,應用軟體,嵌入式作業系統和硬體裝置,這三部分又可以分為小得其他部分。
通常基於linux系統的嵌入式開發步驟如下:
1)、開發目標硬體系統:
如選擇微處理器、Flash及其它外設等
2)、建立交叉開發環境:
安裝交叉編譯工具鏈、配置串口通訊工具、配置網路通訊工具等
3)、開發Bootloader: 移植Bootloader,如vivi
4)、移植linux核心: 如linux2.4.18核心移植
5)、開發根檔案系統: 如CRAMFS檔案系統的製作
6)、開發相關硬體的驅動程式:如LCD、網卡、GPIO等
7)、開發上層的應用程式:如網路、QT GUI開發
5、交叉編譯鏈介紹
1)、本地編譯:
在當前平台編譯,編譯得到的程式也在本地執行,這時所使用的編譯器稱為本地編譯器
2)、交叉編譯:
在一種平台上編譯出能運行在體繫結構不同的另一種平台上的程式,比如在X86平台上編譯出能運行於ARM平台上的程式,這時所使用的編譯器稱為交叉編譯器
3)、在編譯Linux核心和應用程式之前,由於一般嵌入式開發系統儲存大小有限,通常都要在效能優越的PC機上建立一個用於目標機的交叉編譯工具鏈,用該交叉編譯工具鏈在PC上編譯出目標機上要啟動並執行程式
4)、交叉編譯工具鏈主要由binutils、gcc、glibc 3個部分組成
5)、編譯交叉編譯工具鏈是一個非常複雜的過程,但一般網上有已經編譯好的工具鏈可以下載
常用的交叉編譯器版本如下:
2.95.3、3.3.2、3.4.1、4.3.2等
Android驅動開發第二章隨想