日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]對(duì)于內(nèi)核物理內(nèi)存映射區(qū)的虛擬內(nèi)存,使用virt_to_phys()可以實(shí)現(xiàn)內(nèi)核虛擬地址轉(zhuǎn)化為物理地址,phys_to_virt()可以實(shí)現(xiàn)物理地址轉(zhuǎn)化為內(nèi)核虛擬地址。#define __virt_to_phys(x) ((x) - PAGE_OFFSET + PHYS_OFFSET)sta

對(duì)于內(nèi)核物理內(nèi)存映射區(qū)的虛擬內(nèi)存,使用virt_to_phys()可以實(shí)現(xiàn)內(nèi)核虛擬地址轉(zhuǎn)化為物理地址,phys_to_virt()可以實(shí)現(xiàn)物理地址轉(zhuǎn)化為內(nèi)核虛擬地址。

#define __virt_to_phys(x) ((x) - PAGE_OFFSET + PHYS_OFFSET)

static inline unsigned long virt_to_phys(void *x)

{

return __virt_to_phys((unsigned long)(x));

}

上面的轉(zhuǎn)換過(guò)程的PaGE_OFFSET通常為3GB,而PHYS_OFFSET則定義為DRAM內(nèi)存的基地址。因此,對(duì)于LDD6410電路板而言,并不是將0地址映射到3GB,而是將外接的SDRAM的首地址映射到3GB。


與之對(duì)應(yīng)的函數(shù)為phys_to_virt(),它將物理地址轉(zhuǎn)化為內(nèi)核虛地址,phys_to_virt()的定義如下:

#define __phys_to_virt(x) ((x) - PHYS_OFFSET + PAGE_OFFSET)

static inline void *phys_to_virt(unsigned long x)

{

return (void *)(__phys_to_virt((unsigned long)(x)));

}

注意:上述virt_to_phys()和phys_to_virt()方法僅適用于896MB以下的低端內(nèi)存,高端內(nèi)存的虛擬地址和物理內(nèi)存地址之間不存在如此簡(jiǎn)單的換算關(guān)系。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉