版主大人,最近遇到一个问题,想向你请教一下
high_memory这个在我们的嵌入式开发里面指的是什么?
virt_to_phys(high_memory)这句是什么意思,把高端地址由虚地址转为物理地址?高端地址我在百度谷歌上都没查到一个比较好的解释,一些说是大于1024K-1088K的这64K为高端地址,有些又是说的linux下大于869的为高端地址……
我们的嵌入式开发板只有64M的内存,我理解的是即使映射后,系统可以访问0-4g的虚拟内存空间,0-3G为用户空间,3-4G为内核空间,无论我们的程序是用户空间还是内核空间,在运行时都会由虚转物理后调入64M的物理内存中执行是吧,那么高端地址是位于用户空间还是内核空间呢?目前我正在看嵌入式IO映射这块,有些不明……麻烦你
写了段代码,在开发板中运行:
printk("high memory virt_to_phys(high_memory address (0x%ld)\n",virt_to_phys(high_memory));
开发板显示:
high memory virt_to_phys(high_memory address (0x872415232)
//872415232 / 1024 / 1024 =832
这意味着什么?