新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM的存儲器映射與存儲器重映射

        ARM的存儲器映射與存儲器重映射

        作者: 時間:2016-11-10 來源:網絡 收藏
        1.存儲器映射:處理器產生的地址按其某種規則轉移到具體的物理地址;用戶可見的,開機后固定不變的。

        2.存儲器重映射:重新修改局部(64字節異常向量表);可選操作,穩定運行時由用戶需要進行改變(用戶程序)。

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

        MEMMAP=0:開機默認值,Boot裝載模式----向量表(0x00000000-0x0000003c)映射的是BootBlock中的0x7FFFE000-0x7FFFF03c中的值;芯片復位時,啟動boot裝載程序,boot裝載程序檢查P0.14口的狀態和用戶的異常向量,判斷是進入ISP狀態還是啟動用戶程序,若啟動用戶程序,則自動設置MEMMAP=1(片內flash啟動)或3(片外程序存儲器啟動)。

        MEMMAP=1:中斷向量表就在片內flash中,地址就是0x00000000-0x0000003c,相當于沒有映射;

        MEMMAP=2:最為主要的設置,即是重映射的關鍵之所在,當設置MEMMAP=2 時,中斷向量表(0x00000000-0x0000003c)映射的是片內SRAM中的0x40000000-0x4000003c中的值,而因為是SRAM,所以在程序運行的過程中是可以改變的,這樣就可以達到重映射的目的啦(中斷向量表可以隨時修改)。

        MEMMAP=3:中斷向量表就在片外flash中,中斷向量表(0x00000000-0x0000003c)映射到是片外flash中的0x80000000-0x8000003c中的值;功能上與MEMMAP=1時的差不多,因為一旦程序固化到flash中,即為只讀,只是數值映射而已。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 滁州市| 海原县| 天台县| 洛川县| 新蔡县| 文化| 广州市| 谢通门县| 厦门市| 抚州市| 赤水市| 江北区| 富顺县| 德州市| 蒙阴县| 慈溪市| 阿勒泰市| 蛟河市| 永清县| 镇原县| 汝城县| 盘山县| 长白| 潮安县| 清苑县| 修文县| 嵊州市| 普安县| 高碑店市| 天等县| 九龙城区| 梁山县| 清镇市| 申扎县| 迁西县| 定兴县| 大城县| 闻喜县| 阜城县| 桃园县| 裕民县|