close

這幾天有位朋友問我,為什麼在智慧型手機中要使用到NAND FLASH?

我對智慧型手機的硬體實際做法或許不是很全面了解,但我可以以嵌入式系統的角度來說明。

一塊開發版需要幾個必備的要素,

1. CPU(ARM、MIPS...等)

2. RAM

3. FLASH

4. 其他

 

根據你所要的功能需求不同,如作工業控制、多媒體播放還有成本等考量。來選擇不同的CPU,如簡單的溫度控制,可能只需要8051即可,若要做多媒體播放那選擇的CPU可能就需要ARM7以上的等級。

若你要作的功能越複雜,可能需要一個作業系統來幫助你完成時,那就需要一個類似PC硬碟的東西來儲存你的作業系統。

因此,一般開發版都會使用NAND或NOR FLASH來儲存你燒錄的CODE。


 

下圖是NAND FLASH中儲存資料的範例

NAND FLASH儲存架構範例      

linux作業系統開機過程如下:

首先上電後,必定會有一個啟動位址,各家CPU不見得會一樣,以MIPS為例它啟動的位址在0XBFC00000。

之後會進入到Bootloader,在這裏他會先作ㄧ些簡單的硬體驅動,之後它會去選擇且進入你接下來要啟動的kernel所在位置(0XBFC30000),也就是圖中的LINUX位置。

Kernel在這裡的功用為初始化驅動程式,完成後再進入到Root File System。至此,整個系統基本已啟動完畢。
至於啟動後的設定在此就不加詳敘。

 

By Mr. Chen

PS:若有其他意見或是錯誤的地方,還請各位多多指教。

 

arrow
arrow
    全站熱搜

    flykof 發表在 痞客邦 留言(0) 人氣()