摘要
隨著嵌入式Linux系統在消費電子、數據采集和工業控制等領域得到越來越廣泛的應用,無論是在方案設計,還是產能提升上,都提出了更高的要求。其中存儲方案,作為嵌入式Linux系統中最重要的組成部分,從選型、設計,到燒錄都應該引起我們的重視。 存儲芯片的選型,比較常用的有Nor Flash、Nand Flash以及eMMC等類型,人們根據速度、容量、成本等因素來選擇它們。
Nor Flash比較簡單、穩定,讀取速度快,但單價便宜、容量較小。
eMMC采用了統一的MMC接口,集成了控制器、及大容量存儲陣列,操作上也比較簡單,但目前單價較貴。
Nand Flash作為一種安全、快速的存儲器,具有體積小、容量大、成本低、以及更多的擦除次數等一系列優點,已成為嵌入式系統中數據和程序最主要的載體。由于Nand Flash在結構和操作方式上與硬盤、E2PROM等其他存儲介質有較大區別,使用Nand Flash時必須根據其自身特性,對文件系統進行特殊設計,以保證系統的性能達到最優。同時由于工藝和使用環境的問題,Nand Flash存儲器中不可避免的會出現位翻轉及壞塊,因此必須提出有效的ECC方案及壞塊處理策略,以實現存儲系統的高可靠性。
上面三種Flash的特性決定了各自燒錄方面的復雜度,Nor Flash和eMMC都比較簡單,而Nand Flash是最復雜的。
嵌入式linux系統設計好之后,量產方式的選擇往往決定了生產流程及產能的高低。
1、在線燒錄。它沿用了研發階段的燒錄方式,先將boot程序加載到板子上的CPU上跑起來,構建好環境之后將系統燒錄進Flash芯片中。這種方式簡單,但燒錄效率較低下,而且要求產品生產過程是先貼板,如果芯片(尤其是Nand Flash)本身不良,必須再把Flash芯片吹下來,換顆芯片再貼板。
2、SD卡燒錄。這種方式原理跟在線燒錄類似,但不用聯PC機,方便靈活,也是要先貼板。
3、裸片燒錄。這種方式是先將系統燒錄進Flash芯片再貼板,速度快,并且產量巨大時方便外包給代燒廠商進行燒錄。這種方式需要注意:如果是燒錄eMMC,對eMMC寄存器一定要配置正確;如果是燒錄Nand Flash,一定要明確系統采用的ECC算法及壞塊處理策略。
|