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

    EEPW首頁 > 嵌入式系統 > 設計應用 > 關于ARM處理器Remap的理解

    關于ARM處理器Remap的理解

    作者: 時間:2012-03-15 來源:網絡 收藏

    什么是 ?

    本文引用地址:http://www.czjhyjcfj.com/article/149426.htm

    我的是:在ROM從0x0用幾句指令引導系統之后,把RAM映射到0x0就是

    1.的作用

    上電或者Reset之后,從0x0取指。因此,必須保證系統上電時,0x0處有指令可以執行。所以,上電的時候,0x0地址處必定是ROM或者Flash(NOR)。但是,為了加快啟動的速度,也方便可以更改異常向量表,加快中斷響應速度,往往把異常向量表映射到更快、更寬(32bit/16bit)的RAM中。但是異常向量表的開始地址是由架構決定的,必須位于0x0處,因此,必須把RAM映射到0x0。

    2.Remap的配置

    Remap的實現和的實現相關。

    1)如果處理器有專門的寄存器可以完成Remap。那么Remap是通過Remap寄存器的相應bit置1完成的。如Atmel AT91xx

    2)如果處理器沒有專門的寄存器,但是memory的bank控制寄存器可以用來配置bank的起始地址,那么只要把RAM的起始地址編程為0x0,也可以完成remap。如samsung s3c4510

    3)如果上面兩種機制都沒有,那么Remap就不要做了。因為處理器實現決定了SDRAM對應的bank地址是不能改變的。如Samsung S3c2410.

    3.Remap配置前后要做的工作

    Remap前后,不同之處就是RAM的位置變了。為了達到Remap的目的,就是加快啟動的速度和異常處理速度,一定要初始化異常堆棧和建立異常向量表的。

    4.如果象2410那樣不能Remap的話怎么辦?

    2410不是不能Remap嗎?為了加快啟動速度,可以這樣做

    1)使用它的NAND boot模式。為什么NAND boot會比較快,那是因為2410里面有塊小石頭——“SteppingStONe”,一塊4KB SRAM,它是映射在0x0的。啟動程序會自動被copy到這個石頭里面。自然異常向量的入口放到這個地方,一樣可以達到比NOR boot快的啟動、異常響應速度。

    2)如果你對NOR Boot情有獨衷,那么你只好把你的異常向量的入口copy到SDRAM里面,實現所謂的High Vector



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 那坡县| 象州县| 连州市| 克山县| 榆社县| 正安县| 宁夏| 延安市| 长治市| 新蔡县| 通许县| 东乌珠穆沁旗| 临澧县| 郁南县| 综艺| 宜良县| 临海市| 施甸县| 新河县| 乌拉特后旗| 海淀区| 大新县| 广平县| 潞城市| 慈溪市| 尚志市| 高阳县| 榆社县| 新昌县| 拜泉县| 大港区| 西畴县| 常熟市| 大城县| 东方市| 五峰| 杭锦旗| 台北县| 邢台县| 望都县| 双鸭山市|