vxworks中的地址映射

vxworks中的地址映射

ID:22372942

大小:58.00 KB

页数:5页

时间:2018-10-28

vxworks中的地址映射_第1页
vxworks中的地址映射_第2页
vxworks中的地址映射_第3页
vxworks中的地址映射_第4页
vxworks中的地址映射_第5页
资源描述:

《vxworks中的地址映射》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、VxWorks中的地址映射

2、第1在运用嵌入式系统VxPC860进行通信系统设计开发时,会遇到一个映射地址不能访问的问题。缺省情况下,VxCIA)地址、InternalMemory地址、rom(Flachmemory)地址等,但是当你的硬件开发中要加上别的外设时,如(falsh、dsp、FPGA等),对这些外设的访问也是通过地址形式进行读写,如果你没有加相应的地址映射,那么是无法访问这些外设的。和Vxask;/*maskparametertovmStateSet*/UINTinitialState;/*stateparametertovmStateSet*/}PHYS_MEM

3、_DESC;virtualAddr:你要映射的虚拟地址physicalAddr:硬件设计时定义的实际物理地址len;要进行映射的地址长度initialStateMask:可以初始化的地址状态:有如下状态:#defineVM_STATE_MASK_VALID0x03#defineVM_STATE_MASK__STATE_MASK_CACHEABLE0x30#defineVM_STATE_MASK_MEM_COHERENCY0x40#defineVM_STATE_MASK_GUARDED0x80不同的CPU芯片类型还有其特殊状态initialState:实际初始化的地址状态:有

4、如下状态:#defineVM_STATE_VALID0x01#defineVM_STATE_VALID_NOT0x00#defineVM_STATE__STATE__STATE_CACHEABLE0x10#defineVM_STATE_CACHEABLE_NOT0x00同样不同的CPU芯片类型还有其特殊状态2、初始化结构在Tornado/target/config/ads860/sysLib.c文件中:PHYS_MEM_DESCsysPhysMemDesc[]={{(void*)LOCAL_MEM_LOCAL_ADRS,(void*)LOCAL_MEM_LOCAL_ADRS

5、,LOCAL_MEM_SIZE,VM_STATE_MASK_VALID

6、VM_STATE_MASK__STATE_MASK_CACHEABLE,VM_STATE_VALID

7、VM_STATE__STATE_CACHEABLE},{(void*)BCSR0,(void*)BCSR0,0x00001000,/*4k-BoardControlandStatus*/VM_STATE_MASK_VALID

8、VM_STATE_MASK__STATE_MASK_CACHEABLE

9、VM_STATE_MASK_GUARDED,VM_STATE_VALID

10、VM_STATE__STATE_C

11、ACHEABLE_NOT

12、VM_STATE_GUARDED},……{(void*)INTERNAL_MEM_MAP_ADDR,(void*)INTERNAL_MEM_MAP_ADDR,INTERNAL_MEM_MAP_SIZE,/*64k-InternalMemoryMap*/VM_STATE_MASK_VALID

13、VM_STATE_MASK__STATE_MASK_CACHEABLE

14、VM_STATE_MASK_GUARDED,VM_STATE_VALID

15、VM_STATE__STATE_CACHEABLE_NOT

16、VM_STATE_GUARDED},{(void*)RO

17、M_BASE_ADRS,(void*)ROM_BASE_ADRS,ROM_SIZE,/*Flachmemory*/VM_STATE_MASK_VALID

18、VM_STATE_MASK__STATE_MASK_CACHEABLE,VM_STATE_VALID

19、VM_STATE__STATE_CACHEABLE_NOT}};上面结构中是缺省地址映射。3、地址初始化在Tornado/target/src/config/usrMmuInit.c文件中通过函数usrMmuInit使地址映射生效4、实现映射:如你定义flash地址为0x04000000开始的8Mbyte地址,则可以如下进

20、行地址映射{(void*)0x04000000,(void*)0x04000000,0x00800000,/*8m-Flash_STATE_MASK_VALID

21、VM_STATE_MASK__STATE_VALID

22、VM_STATE_WRITABLE},5、注意地址映射最小单位为1页,4K大小,所以len值最小为:0x00010000。按照如上步骤可以进行你要访问的任何外设或芯片(诸如flash、DSP、PCI等)的地址映射,进行地址映射后,就可以象操作内存一样对该地址进行读写了。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。