• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > ARM嵌入式最小系統的軟硬件架構的改進研究

    ARM嵌入式最小系統的軟硬件架構的改進研究

    作者: 時間:2013-06-07 來源:網絡 收藏

    (2)運用邏輯運算方式進行連接

    在該方式下,處理器的讀和寫使能信號通過與片選信號CS進行邏輯運算后去驅動NAND設備對應的讀和寫信號。圖3中b例為SamSung公司7TDMI系列處理器S3C44B0與Nand Flash K9F2808U0C的連接方式。

    (3)直接芯片使能

    有些處理器如S3C2410內部提供對NAND設備的相應控制寄存器,通過控制寄存器可以實現處理器對NAND設備相應信號的驅動。該方式使得ARM處理器與NAND設備的連接變得簡單規范,圖3中c例給出了ARM處理器S3C2410與Nand Flash K9F2808U0C的連接方式。

    3.3 ARM處理器與SDRAM接口技術

    的外部動態存儲器模塊一般采用SDRAM。現在的大多數ARM處理器內部都集成有SDRAM控制器,通過它可以很容易的訪問SDRAM內部的每一個字節。在實際開發中可以根據需要選用一片或多片SDRAM。圖4中給出了兩種常用的接口方式。

    (1)單片SDRAM

    圖4 中a例為 ARM處理器S3C44B0與一個16bit的SDRAM K4S641632d的連接方式。在對尺寸有嚴格限制且對動態存儲器容量要求不高的中常采用此種連接方式。

    (2)雙片16bit SDRAM結合使用

    在雙片16bit SDRAM合成一個32bit SDRAM使用時,ARM處理器的地址線A2接SDRAM的地址線A0,其余地址依次遞增,這是因為在SDRAM中字節是存儲容量的惟一單位,而此時SDRAM為32bit位寬。

    SDRAM的BA地址線是其內部Bank的地址線,代表了SDRAM內存的最高位。在圖4中b例的SDRAM總大小是64M(64M= ),需要A25-A0引腳來尋址,所以BA1-BA0連接到了A25-A24引腳上。還需注意的是SDRAM內存行地址和列地址是復用的,所以地址線的數目一般少于26條,具體連接需要參考ARM處理器和SDRAM的相關手冊。

    值得注意的是,有些ARM處理器如SamSung公司的ARM940T系列處理器S3C2510 ,其地址總線與其它標準ARM處理器不太一樣,它的地址線分為內部地址線和外部地址線兩種類型。根據所連接的存儲器數據總線寬度,內部地址線進行相應的移位,對應到外部地址線A23-A0,從而對外提供固定的地址線A23-A0。其實質與典型的ARM處理器是一致的。

    4. 啟動

    啟動是嵌入式系統的關鍵技術。掌握啟動對于了解嵌入式系統的運行原理有著重要的意義。嵌入式系統在啟動時,引導代碼、操作系統的運行和應用程序的加載主要有兩種架構,一種是直接從Nor Flash啟動的架構,另一種是直接從Nand Flash啟動的架構。

    需要注意的是,在嵌入式系統啟動引導的過程中會有多種情況出現,如vxWorks的啟動代碼BootRom就有壓縮和非壓縮,駐留和非駐留方式之分,而操作系統本身也多以壓縮映象方式存儲,所以啟動代碼在執行和加載過程中需要根據不同的情況,作出相應的處理。

    4.1從Nor Flash啟動

    Nor Flash具有芯片內執行(XIP,eXecute In Place)的特點,在嵌入式系統中常做為存放啟動代碼的首選。從Nor Flash啟動的架構又可細分為只使用Nor Flash的啟動架構和Nor Flash與Nand Flash配合使用的啟動架構。圖5 給出了這兩種啟動架構的原理框圖。

    4.1.1單獨使用Nor Flash

    在該架構中,引導代碼、操作系統和應用代碼共存于同一塊Nor Flash中。系統上電后,引導代碼首先在Nor Flash中執行,然后把操作系統和應用代碼加載到速度更高的SDRAM中運行。另一種可行的架構是,在Nor Flash中執行引導代碼和操作系統,而只將應用代碼加載到SDRAM中執行。

    該架構充分利用了Nor Flash芯片內執行的特點,可有效提升系統性能。不足在于隨著操作系統和應用代碼容量的增加,需要更大容量昂貴的Nor Flash來支撐。

    4.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中執行。該架構是當前嵌入式系統中運用最廣泛的啟動架構之一。

    4.1.2從Nand Flash啟動

    有些處理器如SamSung公司的ARM920T系列處理器S3C2410支持從Nand Flash啟動的模式,它的工作原理是將NandFlash中存儲的前4KB代碼裝入一個稱為Steppingstone(BootSRAM)的地址中,然后開始執行該段引導代碼,從而完成對操作系統和應用程序的加載。該方式需要處理器內部有NAND控制器,同時還要提供一定大小額外的SRAM空間,有一定的使用局限性,在實際開發中較少使用。

    5. 結束語

    本文作者創新點:根據ARM體系結構的相通性,以基于ARM的嵌入式系統為平臺,從硬件和軟件兩方面對其架構進行了。硬件方面就ARM處理器與常用外部存儲器的接口方式進行了闡述,軟件方面給出了嵌入式系統典型的啟動架構及其選擇標準。

    linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 古田县| 七台河市| 承德市| 宜兰县| 体育| 同江市| 寿宁县| 潢川县| 深州市| 衡南县| 石景山区| 堆龙德庆县| 绥滨县| 紫阳县| 阿勒泰市| 友谊县| 天镇县| 正宁县| 镇坪县| 公安县| 方山县| 新巴尔虎左旗| 化德县| 福贡县| 南昌市| 电白县| 米脂县| 桦甸市| 遂平县| 会泽县| 贺兰县| 中西区| 客服| 额尔古纳市| 福建省| 陵水| 邛崃市| 班戈县| 云霄县| 新津县| 高清|