新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 關(guān)于ARM處理器Remap的理解

        關(guān)于ARM處理器Remap的理解

        作者: 時間:2012-03-15 來源:網(wǎng)絡(luò) 收藏

        什么是 ?

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

        我的是:在ROM從0x0用幾句指令引導(dǎo)系統(tǒng)之后,把RAM映射到0x0就是

        1.的作用

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

        2.Remap的配置

        Remap的實現(xiàn)和的實現(xiàn)相關(guān)。

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

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

        3)如果上面兩種機制都沒有,那么Remap就不要做了。因為處理器實現(xiàn)決定了SDRAM對應(yīng)的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快的啟動、異常響應(yīng)速度。

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



        關(guān)鍵詞: 理解 Remap 處理器 ARM 關(guān)于

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 木兰县| 广南县| 莱阳市| 陆良县| 贡山| 巨野县| 海晏县| 肥东县| 都昌县| 蓝山县| 全州县| 调兵山市| 扶绥县| 昌宁县| 红桥区| 肇源县| 安福县| 京山县| 界首市| 永丰县| 桦南县| 台湾省| 康平县| 阿图什市| 班玛县| 福州市| 沙湾县| 英德市| 方城县| 洛南县| 定陶县| 拉萨市| 宁强县| 夏邑县| 东乌| 威宁| 二连浩特市| 东方市| 贺兰县| 清河县| 砀山县|