- 相關(guān)推薦
VxWorks中的地址映射
作者Email: hnjinyuhe@163.net在運用嵌入式系統(tǒng)VxWorks和MPC860進行通信系統(tǒng)設(shè)計開發(fā)時,會遇到一個映射地址不能訪問的問題。
缺省情況下,VxWorks系統(tǒng)已經(jīng)進行了如下地址的映射:
memory地址、bcsr(Board Control and Status)地址、PC_BASE_ADRS(PCMCIA)地址、Internal Memory地址、rom(Flach memory)地址等,但是當你的硬件開發(fā)中要加上別的外設(shè)時,如(falsh、dsp、FPGA等),對這些外設(shè)的訪問也是通過地址形式進行讀寫,如果你沒有加相應(yīng)的地址映射,那么是無法訪問這些外設(shè)的。
和VxWorks缺省地址映射類似,你也可以進行相應(yīng)的地址映射。
如下是地址映射原理及實現(xiàn):
1、 地址映射結(jié)構(gòu)
在Tornado\target\h\vmLib.h文件中
typedef struct phys_mem_desc
{
void *virtualAddr;
void *physicalAddr;
UINT len;
UINT initialStateMask; /* mask parameter to vmStateSet */
UINT initialState; /* state parameter to vmStateSet */
} PHYS_MEM_DESC;
virtualAddr:你要映射的虛擬地址
physicalAddr:硬件設(shè)計時定義的實際物理地址
len;要進行映射的地址長度
initialStateMask:可以初始化的地址狀態(tài):
有如下狀態(tài):
#define VM_STATE_MASK_VALID 0x03
#define VM_STATE_MASK_WRITABLE 0x0c
#define VM_STATE_MASK_CACHEABLE 0x30
#define VM_STATE_MASK_MEM_COHERENCY 0x40
#define VM_STATE_MASK_GUARDED 0x80
不同的CPU芯片類型還有其特殊狀態(tài)
initialState:實際初始化的地址狀態(tài):
有如下狀態(tài):
#define VM_STATE_VALID &
[1] [2] [3]
【VxWorks中的地址映射】相關(guān)文章:
文化因素在英漢習語中的映射04-27
功能翻譯理論在科技翻譯中的映射04-27
映射04-29
映射分析中的自組織方法在烴類檢測中的應(yīng)用04-29
映射教案04-25
矩陣代數(shù)的乘法映射與反乘法映射04-26
供應(yīng)鏈中的核心企業(yè)BOM視圖映射04-28
矩映射在泊松幾何學中的應(yīng)用04-27
多神教觀念在現(xiàn)代俄語中的映射及其研究價值04-27
綠色包裝的文化映射04-26