嵌入式系统论文VxWorks中的地址映射作者Email:hnjinyuhe@163.net在运用嵌入式系统VxWorks和MPC860进行通信系统设计开发时,会遇到一个映射地址不能访问的问题。缺省情况下,VxWorks系统已经进行了如下地址的映射:memory地址、bcsr(Board Control andStatus)地址、PC_BASE_ADRS(PCMCIA)地址、Internal Memory地址、rom(Flachmemory)地址等,但是当你的硬件开发中要加上别的外设时,如(falsh、dsp、FPGA等),对这些外设的访问也是通过地址形式进行读写,如果你没有加相应的地址映射,那么是无法访问这些外设的。和VxWorks缺省地址映射类似,你也可以进行相应的地址映射。如下是地址映射原理及实现:1、地址映射结构在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:硬件设计时定义的实际物理地址len;要进行映射的地址长度initialStateMask:可以初始化的地址状态:有如下状态:#define VM_STATE_MASK_VALID