以前一直以为寄存器只能存别人的内存地址 ,当然我知道那是通用寄存器
昨天看到书上说s3c2410x 处理器有117个输入输出脚,分为8个端口
端口F的管脚为GPF0~GPF7
同时还给出了端口F的寄存器
比如GPFCON 地址是0x56000050
CGPDAT 地址是0x56000054等
看它的汇编代码 似乎向那个寄存器地址写入数值就真得改变了寄存器的值
;定义端口 E 寄存器预定义
rGPFCON EQU 0x56000050
ldr r0,=rGPFCON ;将寄存器rGPFCON 的地址存放到寄存器r0 中
ldr r1,=0x4000
str r1,[r0] ;将寄存器r1 中的数据存放到寄存器rPCONE 中
为什么这些寄存器本身也有地址呢?这个地址是内存里的地址吗?
6 个解决方案
#1
和I/O编址方式有关 是统一编址还是独立编址。
#2
寄存器的地址是为CPU寻址,以便CPU访问这些寄存器,其不是内存中的地址。。。
#3
每个寄存器都是有地址的,只是ARM的外设寄存器等是占用内存地址空间的,不象51系列的特殊寄存器地址,51系列特殊寄存器地址是独立的必须直接寻址
#4
天啊 一人一个说法
#5
呵呵,还是去先看看你所用芯片的Memory map吧
#6
最后还是觉得pxh7103 更牛x
#1
和I/O编址方式有关 是统一编址还是独立编址。
#2
寄存器的地址是为CPU寻址,以便CPU访问这些寄存器,其不是内存中的地址。。。
#3
每个寄存器都是有地址的,只是ARM的外设寄存器等是占用内存地址空间的,不象51系列的特殊寄存器地址,51系列特殊寄存器地址是独立的必须直接寻址
#4
天啊 一人一个说法
#5
呵呵,还是去先看看你所用芯片的Memory map吧
#6
最后还是觉得pxh7103 更牛x