内存地址和内存空间
Posted y4247464
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内存地址和内存空间相关的知识,希望对你有一定的参考价值。
在操作寄存器时,遇到概念上的理解问题。混淆了内存地址与内存空间
首先,读懂指令
ldr r0,=0x11000c40 //0x11000c40是寄存器GPX2CON的地址,将这个地址写入r0寄存器的空间 ldr r1,[r0] //将r0空间的地址所指向的4字节数据,读入r1的内存空间,即r1储存了0x11000c40地址所指向的四字节空间数据 bic r1,#0xf0000000 //将那四字节数据的高四位清零,即[31:28]->0000 orr r1,0x10000000 //[31:28] :0000 ---> 0001 str r1,[r0] //将r1里的数据存入r0存放的地址0x11000c40所指向的空间中
由上,可以知道内存地址只是一个编号,代表一个内存空间,就像你家的门牌号一样,通过地址可以访问到所指向的内存。那么这个内存空间是多大呢。在计算机中,存储器的容量是以字节为基本单位,每个字节都有一个地址,每四个字节即32位的内存空间为一个单元。
以上是关于内存地址和内存空间的主要内容,如果未能解决你的问题,请参考以下文章
Linux 内核 内存管理虚拟地址空间布局架构 ② ( 用户虚拟地址空间组成 | 内存描述符 mm_struct 结构体源码 )