ARM嵌入式系統啟動架構研究
目前在嵌入式開發的過程中,開發者往往把大量精力投入到嵌入式微處理器MPU(Micro Processing Unit)與眾多外設的連線方式以及應用程式碼的開發之中,而忽視了對嵌入式系統最基本、最核心部分的研究。
啟動架構是嵌入式系統的關鍵技術。掌握啟動架構對於瞭解嵌入式系統的執行原理有著重要的意義。嵌入式系統在啟動時,引導程式碼、作業系統的執行和應用程式的載入主要有兩種架構,一種是直接從Nor Flash啟動的架構,另一種是直接從Nand Flash啟動的架構。
需要注意的是,在嵌入式系統啟動引導的過程中會有多種情況出現,如vxWorks的啟動程式碼BootRom就有壓縮和非壓縮,駐留和非駐留方式之分,而作業系統本身也多以壓縮映象方式儲存,所以啟動程式碼在執行和載入過程中需要根據不同的情況,作出相應的處理。
1從Nor Flash啟動
Nor Flash具有晶片內執行(XIP,eXecute In Place)的特點,在嵌入式系統中常做為存放啟動程式碼的首選。從Nor Flash啟動的架構又可細分為只使用Nor Flash的啟動架構和Nor Flash與Nand Flash配合使用的啟動架構。圖5 給出了這兩種啟動架構的原理框圖。
1.1單獨使用Nor Flash
在該架構中,引導程式碼、作業系統和應用程式碼共存於同一塊Nor Flash中。系統上電後,引導程式碼首先在Nor Flash中執行,然後把作業系統和應用程式碼載入到速度更高的SDRAM中執行。另一種可行的架構是,在Nor Flash中執行引導程式碼和作業系統,而只將應用程式碼載入到SDRAM中執行。
該架構充分利用了Nor Flash晶片內執行的特點,可有效提升系統效能。不足在於隨著作業系統和應用程式碼容量的增加,需要更大容量昂貴的Nor Flash來支撐。
1.2 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中執行。該架構是當前嵌入式系統中運用最廣泛的啟動架構之一。
1.3從Nand Flash啟動
有些處理器如SamSung公司的arm920T系列處理器S3C2410支援從Nand Flash啟動的模式,它的工作原理是將NandFlash中儲存的前4KB程式碼裝入一個稱為Steppingstone(BootSRAM)的地址中,然後開始執行該段引導程式碼,從而完成對作業系統和應用程式的載入。該方式需要處理器內部有NAND控制器,同時還要提供一定大小額外的SRAM空間,有一定的使用侷限性,在實際開發中較少使用。
相關文章
- 嵌入式--ARM架構架構
- ARM架構安裝ubuntu系統架構Ubuntu
- 【ARM架構】armv8 系統安全概述架構
- ARM架構架構
- ARM嵌入式系統該如何學習
- Linux系統檢視伺服器是arm架構還是x86架構Linux伺服器架構
- Linux基礎——ARM架構主機系統盤亂序問題Linux架構
- Euler Arm架構yum源架構
- Arm架構下麒麟作業系統安裝配置Mariadb資料庫架構作業系統資料庫
- 怎樣從公網訪問ARM嵌入式Linux系統Linux
- Holer實現外網訪問ARM嵌入式Linux系統Linux
- 嵌入式Linux系統構建Linux
- ARM和X86架構架構
- ARM-V7架構(二)架構
- X86架構與ARM架構的區別:架構
- 中國移動研究院&NGMN:自動化與自智系統架構白皮書架構
- 嵌入式系統第三週ARM開發環境入門開發環境
- 檔案系統(三):嵌入式、計算機系統啟動流程與步驟計算機
- Tomcat系統架構Tomcat架構
- ARM架構安裝Kubernetes叢集架構
- 企業應用架構研究系列三:應用系統整合應用架構
- HDFS架構指南(分散式系統Hadoop的檔案系統架構)架構分散式Hadoop
- Google、高通都在研究的晶片架構,是他們對抗ARM的武器Go晶片架構
- 嵌入式軟體架構設計-訊息互動架構
- 【轉載】ARM嵌入式系統為什麼要做記憶體對齊記憶體
- FACEBOOK 的系統架構架構
- 安卓系統架構安卓架構
- 系統架構演變架構
- 廣告系統架構架構
- IOS的系統架構iOS架構
- Android系統架構圖Android架構
- Android-系統架構Android架構
- 【Android系統】Android系統架構簡介Android架構
- 解決方案架構、系統架構和企業架構區別架構
- SaaS架構:中央庫存系統架構設計架構
- SaaS架構:多租戶系統架構設計架構
- Feed流系統重構-架構篇架構
- KylinV10SP2實現ARM和x86架構系統PXE部署(S3)架構S3