基于ARM單片機(jī)的嵌入式最小系統(tǒng)架構(gòu)研究
4.1.1單獨(dú)使用Nor Flash
在該架構(gòu)中,引導(dǎo)代碼、操作系統(tǒng)和應(yīng)用代碼共存于同一塊Nor Flash中。系統(tǒng)上電后,引導(dǎo)代碼首先在Nor Flash中執(zhí)行,然后把操作系統(tǒng)和應(yīng)用代碼加載到速度更高的SDRAM中運(yùn)行。另一種可行的架構(gòu)是,在Nor Flash中執(zhí)行引導(dǎo)代碼和操作系統(tǒng),而只將應(yīng)用代碼加載到SDRAM中執(zhí)行。
該架構(gòu)充分利用了Nor Flash芯片內(nèi)執(zhí)行的特點(diǎn),可有效提升系統(tǒng)性能。不足在于隨著操作系統(tǒng)和應(yīng)用代碼容量的增加,需要更大容量昂貴的Nor Flash來(lái)支撐。
4.1.2 Nor Flash和Nand Flash配合使用
Nor Flash的單獨(dú)使用對(duì)于代碼量較大的應(yīng)用程序會(huì)增加產(chǎn)品的成本投入,一種的改進(jìn)的方式是采用Nor Flash 和Nand Flash配合使用的架構(gòu)。在該架構(gòu)中附加了一塊Nand Flash,Nor Flash(2M或4M)中存放啟動(dòng)代碼和操作系統(tǒng)(操作系統(tǒng)可以根據(jù)代碼量的大小選擇存放于Nor Flash或者Nand Flash),而Nand Flash中存放應(yīng)用代碼,根據(jù)存放的應(yīng)用代碼量的大小可以對(duì)Nand Flash容量做出相應(yīng)的改變。
系統(tǒng)上電后,引導(dǎo)代碼直接在Nor Flash中執(zhí)行,把Nand Flash中的操作系統(tǒng)和應(yīng)用代碼加載到速度更高的SDRAM中執(zhí)行。也可以在Nor Flash中執(zhí)行引導(dǎo)代碼和操作系統(tǒng),而只將Nand Flash中的應(yīng)用代碼加載到SDRAM中執(zhí)行。該架構(gòu)是當(dāng)前嵌入式系統(tǒng)中運(yùn)用最廣泛的啟動(dòng)架構(gòu)之一。
4.1.2從Nand Flash啟動(dòng)
有些處理器如SamSung公司的ARM920T系列處理器S3C2410支持從Nand Flash啟動(dòng)的模式,它的工作原理是將NandFlash中存儲(chǔ)的前4KB代碼裝入一個(gè)稱為Steppingstone(BootSRAM)的地址中,然后開(kāi)始執(zhí)行該段引導(dǎo)代碼,從而完成對(duì)操作系統(tǒng)和應(yīng)用程序的加載。該方式需要處理器內(nèi)部有NAND控制器,同時(shí)還要提供一定大小額外的SRAM空間,有一定的使用局限性,在實(shí)際開(kāi)發(fā)中較少使用。
5. 結(jié)束語(yǔ)
本文作者創(chuàng)新點(diǎn):根據(jù)ARM體系結(jié)構(gòu)的相通性,以基于ARM的嵌入式最小系統(tǒng)為平臺(tái),從硬件和軟件兩方面對(duì)其架構(gòu)進(jìn)行了研究。硬件方面就ARM處理器與常用外部存儲(chǔ)器的接口方式進(jìn)行了闡述,軟件方面給出了嵌入式最小系統(tǒng)典型的啟動(dòng)架構(gòu)及其選擇標(biāo)準(zhǔn)。
參考文獻(xiàn):
[1] 李別.基于S3C4510B的ARM開(kāi)發(fā)平臺(tái)[J].微計(jì)算機(jī)信息,2006,10-2:34-36.
[2] 張.32位嵌入式系統(tǒng)硬件設(shè)計(jì)與調(diào)試[M].北京:機(jī)械工業(yè)出版社, 2005.60-61.
[3] NAND Flash Applications Design Guide[EB/OL]. http://www.toshiba.com.
評(píng)論