新聞中心

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

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

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

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

本文引用地址:http://2s4d.com/article/201611/317247.htm

MEMMAP=0:開機默認值,Boot裝載模式----向量表(0x00000000-0x0000003c)映射的是BootBlock中的0x7FFFE000-0x7FFFF03c中的值;芯片復位時,啟動boot裝載程序,boot裝載程序檢查P0.14口的狀態(tài)和用戶的異常向量,判斷是進入ISP狀態(tài)還是啟動用戶程序,若啟動用戶程序,則自動設置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中,即為只讀,只是數值映射而已。



評論


技術專區(qū)

關閉