ARM如何分配寄存器地址!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ARM如何分配寄存器地址!相关的知识,希望对你有一定的参考价值。
typedef struct
__IO uint32_t FIODIR;
uint32_t RESERVED0[3];
__IO uint32_t FIOMASK;
__IO uint32_t FIOPIN;
__IO uint32_t FiosET;
__O uint32_t FIOCLR;
GPIO_TypeDef;
在这个结构体中,查周立功中LPC1700表得:FIO1MASK地址为0x2009C030 ,而 FIO1PIN地址为0x2009C034 ,FIO1SET地址为0x2009C038 。
说明FIO1MASK占用了4个地址,同样FIO1PIN与FIO1SET都是占用了4个地址。
本人不明白为什么FIO1MASK占用了4个地址而不是1个地址????????
比如说我知道某寄存器地址是4001140cH, 然后就
*(unsigned long*)0x4001140c=~0;//赋最大值(仅供参考)
arm芯片是统一编址的,对寄存器可间接寻址.
(即 可使用指针)
51单片机 不是, 它地址重叠,
正是用这两种不同的寻址方式来
区分操作的是内存还是寄存器.. 参考技术A 地址分配是以字节为单位的,4个是对的 参考技术B 为什么不是 参考技术C 32位,4个字节,当然占用4个地址啊
以上是关于ARM如何分配寄存器地址!的主要内容,如果未能解决你的问题,请参考以下文章