天天看點

brew手機開發原理

嵌入式系統由于軟體規模小,是以将引導代碼和作業系統代碼全部放到了系統的Flash晶片中了。正如我們所知道的,PC機上大部分的作業系統代碼全部放在硬碟上,然後從硬碟上将程式載入記憶體執行。而嵌入式系統中目前大多數采用直接尋址的方式從Nor Flash晶片中讀取代碼并執行。是以,實際上嵌入式系統簡化了PC系統的設計,将PC系統中的BIOS和硬碟代碼全部集中到了一個Flash晶片上。是以BIOS雖然也可以使用Flash晶片,但是相對于嵌入式系統來說,他們的含義和作用卻不同。

目前流行的分為NOR Flash和NAND Flash。

NAND與NOR Flash的差別主要有:

1、NAND Flash的空間比Nor Flash大

2、NAND Flash的通路速度比Nor Flash快

3、NAND Flash隻有Page通路模式,Nor Flash可以進行Page和直接位址通路(直接位址通路也就是CPU可以直接尋址,或者叫做随機通路)

4、NAND Flash允許有壞塊,但是Nor Flash不能有壞塊

5、NAND Flash比NOR Flash更加便宜

Page模式允許一次讀取多個位元組,就像硬碟的最小讀寫機關是扇區一樣,隻不過Flash的最小讀寫機關叫做Page。Page模式下可以加快Flash的讀寫速度。由于NAND Flash隻支援Page讀寫模式,是以使用NAND Flash做為代碼區的時候需要外加控制電路。目前使用NAND做為代碼區正在成為一種流行的趨勢(因為NAND Flash成本更低),主要的實作方式有兩種:一是添加仿真電路使得NAND Flash可以支援随機通路;二是增加一個類似硬碟的引導區(通常是第一個Page),系統啟動的時候使用引導區的代碼将全部NAND中的代碼複制到RAM中執行。

在計算機系統中主要存在使用者資料、程式資料和代碼三種二進制内容。

二進制形态 PC系統 嵌入式系統

使用者資料 存儲在檔案系統中,典型的裝置是硬碟 存儲在檔案系統中,典型的裝置是Flash存儲晶片

程式資料 可讀可寫的資料存放在RAM中;隻讀資料存放在硬碟中,運作時與代碼一起讀入RAM 可讀可寫的資料存放在RAM中;隻讀資料存放在Flash中,與代碼存儲在同一個區域

代碼 存儲在檔案系統中的檔案裡,運作時讀入RAM由CPU執行 如果存儲在NOR Flash等可随機通路的空間中則CPU直接在晶片中取指令運作;如果存儲在NAND Flash等不能随機通路的空間中則需要讀入RAM中運作

開發人員的主要工作是按需求在模拟器上,開發需要的程式,實作完整的功能,并且把程式的功能結構調試完成、考慮各種可能的情況把異常都處理好,然後編譯到手機上進行真實環境調試和測試;一般這個過程都是邊開發邊調試邊編譯到手機上測試等步驟同時進行。