国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

VxWorks中的地址映射

發(fā)布時(shí)間:2010-11-16 15:40    發(fā)布者:eetech
關(guān)鍵詞: VxWorks , 地址 , 映射
在運(yùn)用嵌入式系統(tǒng)VxWorks和MPC860進(jìn)行通信系統(tǒng)設(shè)計(jì)開(kāi)發(fā)時(shí),會(huì)遇到一個(gè)映射地址不能訪問(wèn)的問(wèn)題。

缺省情況下,VxWorks系統(tǒng)已經(jīng)進(jìn)行了如下地址的映射:  

memory地址、bcsr(Board Control and Status)地址、PC_BASE_ADRS(PCMCIA)地址、Internal Memory地址、rom(Flach memory)地址等,但是當(dāng)你的硬件開(kāi)發(fā)中要加上別的外設(shè)時(shí),如(falsh、dsp、FPGA等),對(duì)這些外設(shè)的訪問(wèn)也是通過(guò)地址形式進(jìn)行讀寫(xiě),如果你沒(méi)有加相應(yīng)的地址映射,那么是無(wú)法訪問(wèn)這些外設(shè)的。  

和VxWorks缺省地址映射類(lèi)似,你也可以進(jìn)行相應(yīng)的地址映射。  

如下是地址映射原理及實(shí)現(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è)計(jì)時(shí)定義的實(shí)際物理地址
len;要進(jìn)行映射的地址長(zhǎng)度
initialStateMask:可以初始化的地址狀態(tài):
有如下?tīng)顟B(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_COHERENCY0x40
#define VM_STATE_MASK_GUARDED 0x80
不同的CPU芯片類(lèi)型還有其特殊狀態(tài)  
initialState:實(shí)際初始化的地址狀態(tài):
有如下?tīng)顟B(tài):
#define VM_STATE_VALID   0x01
#define VM_STATE_VALID_NOT  0x00
#define VM_STATE_WRITABLE   0x04
#define VM_STATE_WRITABLE_NOT  0x00
#define VM_STATE_CACHEABLE 0x10
#define VM_STATE_CACHEABLE_NOT   0x00
同樣不同的CPU芯片類(lèi)型還有其特殊狀態(tài)  

2、 初始化結(jié)構(gòu)  

在 Tornado\target\config\ads860\sysLib.c 文件中:
PHYS_MEM_DESC sysPhysMemDesc [] =
{
  {
  (void *) LOCAL_MEM_LOCAL_ADRS,
  (void *) LOCAL_MEM_LOCAL_ADRS,
  LOCAL_MEM_SIZE ,
  VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE |
VM_STATE_MASK_CACHEABLE,
  VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE
  },
  {
  (void *) BCSR0,
  (void *) BCSR0,
  0x00001000,/* 4 k - Board Control and Status */
  VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE |
VM_STATE_MASK_CACHEABLE | VM_STATE_MASK_GUARDED,
  VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT |
VM_STATE_GUARDED
  },
  ……
  {
  (void *) INTERNAL_MEM_MAP_ADDR,
  (void *) INTERNAL_MEM_MAP_ADDR,
  INTERNAL_MEM_MAP_SIZE,  /* 64 k - Internal Memory Map */
  VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE |
VM_STATE_MASK_CACHEABLE | VM_STATE_MASK_GUARDED,
  VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT |
VM_STATE_GUARDED
  },
  {
  (void *) ROM_BASE_ADRS,
  (void *) ROM_BASE_ADRS,
  ROM_SIZE,/* Flach memory */
  VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE |
VM_STATE_MASK_CACHEABLE ,
  VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT
  }
};
上面結(jié)構(gòu)中是缺省地址映射。  

3、 地址初始化  

在Tornado\target\src\config\ usrMmuInit.c 文件中
通過(guò)函數(shù)usrMmuInit使地址映射生效  

4、 實(shí)現(xiàn)映射:  

如你定義flash地址為0x04000000開(kāi)始的8Mbyte地址,則可以如下進(jìn)行地址映射
{
(void *) 0x04000000,
(void *) 0x04000000,
0x00800000,  /* 8 m - Flash window 1 */
VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE,
VM_STATE_VALID | VM_STATE_WRITABLE
},  

5、 注意  

地址映射最小單位為1頁(yè),4K大小,所以len值最小為:0x00010000。  
按照如上步驟可以進(jìn)行你要訪問(wèn)的任何外設(shè)或芯片(諸如flash、DSP、PCI等)的地址映射,進(jìn)行地址映射后,就可以象操作內(nèi)存一樣對(duì)該地址進(jìn)行讀寫(xiě)了。
本文地址:http://www.qingdxww.cn/thread-39723-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專(zhuān)區(qū)
  • 更佳設(shè)計(jì)的解決方案——Microchip模擬開(kāi)發(fā)生態(tài)系統(tǒng)
  • 我們是Microchip
  • 你仿真過(guò)嗎?使用免費(fèi)的MPLAB Mindi模擬仿真器降低設(shè)計(jì)風(fēng)險(xiǎn)
  • 深度體驗(yàn)Microchip自動(dòng)輔助駕駛應(yīng)用方案——2025巡展開(kāi)啟報(bào)名!
  • 貿(mào)澤電子(Mouser)專(zhuān)區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产在线手机视频 | 欧美激情一区二区三区视频高清 | 国产成人宗合 | 国产短视频精品区第一页 | 亚洲国产成人综合 | 九九视频免费看 | 中文字幕日本一本二本三区 | 91精品国产福利尤物 | 四虎永久免费在线观看 | 日韩操穴 | 亚洲免费一级视频 | 欧美短视频 | 久久观看午夜精品 | 日韩毛片基地 | 黄色片网站免费在线观看 | 99福利网| 特级毛片www | 欧美日本日韩 | 啊用力啊好深啊h在线观看 啊嗯啊羞羞网站在线观看 啊~用力cao我cao死我公 | 精品一区二区三区四区五区六区 | 久久国产影视免费精品 | 这里只有精品99re在线 | 久久久国产99久久国产久 | 国产视频最新 | 免费99视频有精品视频高清 | 欧美人与禽zzz000xxx | 成年美女黄网站色大片图片 | 婷婷丁香久久 | 国产视频一区二 | 亚洲欧美日本欧美在线播放污 | 成在线人免费视频一区二区三区 | 国产一区二区精品 | 伊人精品综合 | 污网站免费观看 | 亚洲一级视频在线观看 | 97在线免费视频观看 | 99热国产这里只有精品99 | 国产一区二区三区在线免费 | 欧美城天堂网 | 91美女视频| 四虎欧美永久在线精品免费 |