存储器:
RAM :速度快,可以直接和 CPU 进行通信,但是掉电以后数据会丢失,容量不容易做大。储程序中用到的变量。
ROM:速度虽然慢,但是容量大、存储程序数据及常量数据或变量数据。
Flash :(FLASH EEPROM)又称闪存,快闪。它结合了ROM和RAM的长处。不仅具备电子可擦除可编辑(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据。存储程序。
寄存器
寄存器:有特定功能的存储单元,可用来暂存指令、数据和位址
寄存器映射:给特定功能的存储单元起名的过程
寄存器的访问速快,但是所占面积大
1、寄存器存在于CPU中,速度很快,数目有限; 存储器就是内存,速度稍慢,但数量很大; 计算机做运算时,必须将数据读入寄存器才能运算。
2、存储器包括寄存器, 存储器有ROM和RAM
CPU的控制部件中有:
指令寄存器(IR) 和 程序计数器(PC)
CPU的运算部件中有:
累加器(ACC)
外设起始地址+寄存器偏移地址= 寄存器的物理地址,再强制类型转换为指针就可以实现对寄存器的控制
*(unsigned int *) (0x40010c0c) = 0xffff; //全部赋为高电平
#define GBIO_C *(unsigned int *) //宏定义为指针
GBIO_C = 0xffff;
总线地址:
总线地址 = 总线基地址 + 相对外设地址偏移量
外设地址 = 总线地址 + 相对目标总线的偏移地址
寄存器地址 = 外设地址 + 相对寄存器偏移地址
|= ( (1) << x )的操作结果就是把这个寄存器的bitx置1
&= ~(1<<x)的操作结果就是把bitx置0