嵌入式系統啟動

2021-08-01 16:19:31 字數 1266 閱讀 6509

嵌入式系統在啟動時,引導**、作業系統的執行和應用程式的載入主要有兩種架構,一種是直接從nor flash啟動的架構,另一種是直接從nand flash啟動的架構。

1. 從nor flash啟動

nor flash具有晶元內執行(xip,execute in place)的特點,在嵌入式系統中常做為存放啟動**的首選。從nor flash啟動的架構又可細分為只使用nor flash的啟動架構和nor flash與nand flash配合使用的啟動架構。圖5 給出了這兩種啟動架構的原理框圖。

a.單獨使用nor flash

在該架構中,引導**、作業系統和應用**共存於同一塊nor flash中。系統上電後,引導**首先在nor flash中執行,然後把作業系統和應用**載入到速度更高的sdram中執行。另一種可行的架構是,在nor flash中執行引導**和作業系統,而只將應用**載入到sdram中執行。

該架構充分利用了nor flash晶元內執行的特點,可有效提公升系統效能。不足在於隨著作業系統和應用**容量的增加,需要更大容量昂貴的nor flash來支撐。

b. nor flash和nand flash配合使用

nor flash的單獨使用對於**量較大的應用程式會增加產品的成本投入,一種的改進的方式是採用nor flash 和nand flash配合使用的架構。在該架構中附加了一塊nand flash,nor flash(2m或4m)中存放啟動**和作業系統(作業系統可以根據**量的大小選擇存放於nor flash或者nand flash),而nand flash中存放應用**,根據存放的應用**量的大小可以對nand flash容量做出相應的改變。

系統上電後,引導**直接在nor flash中執行,把nand flash中的作業系統和應用**載入到速度更高的sdram中執行。也可以在nor flash中執行引導**和作業系統,而只將nand flash中的應用**載入到sdram中執行。該架構是當前嵌入式系統中運用最廣泛的啟動架構之一。

2. 從nand flash啟動

有些處理器如samsung公司的arm920t系列處理器s3c2410支援從 nand flash啟動的模式,它的工作原理是將nandflash中儲存的前4kb**裝入乙個稱為steppingstone(bootsram)的位址中, 然後開始執行該段引導**,從而完成對作業系統和應用程式的載入。該方式需要處理器內部有nand控制器,同時還要提供一定大小額外的sram空間,有一 定的使用侷限性,在實際開發中較少使用。

構建嵌入式系統 系統啟動

本篇翻譯自奧萊里出版社的 building embedded linux systems bykarim yaghmour 其著作權歸原作者所有 三個部分參與了系統啟動 啟動 核心,初始化程序。啟動 是在系統啟動時最先執行的軟體,並且高度依賴於目標板的硬體。正如我們第9章所說,現在有很多啟動 可以用...

嵌入式系統啟動過程

1.rom code.上電首先執行rom中的 rom code的目的是把第二部分boot code spl second stage program loader load 到 sram中。rom code執行時,屬於最小系統,ddr還沒有初始化,可以使用的ram 只有晶元中的sram。而sram的...

Linux 嵌入式系統啟動原理

一.linux系統啟動原理 bootrom是出廠固化在裡面的,檢視啟動模式,是sd卡啟動還是spiflash啟動等,或者其他啟動方式,查詢boot.bin 或者.mcs檔案。將fsbl拷貝到ddr中執行,並載入uboot到ddr。uboot看成是乙個小的作業系統,用來引到linux系統的核心 通常由...