地址空间
MSP430的冯.诺依曼结构只有一个地址空间,由特殊功能寄存器(SFR)、外围设备、RAM、ROM/FLASH共享。由地址分配图可知,代码总是偶地址开始,数据则可以以字节或者字的地址开始。地址空间共有64k,考虑了将来的扩充。
◆ Flash/ROM
FLASH/ROM的起始地址决定于片上FLASH/ROM的数量和单片机的种类。Flash/ROM的结束地址为0FFFFh。数据或代码均可被存储于FLASH中。单字节或者双字节表都可以存储在LASH中,使用之前不需要将表复制到RAM中。
中断向量表映射于Flash/ROM地址的最高的16个字中,优先级最高的中断向量位于flash/ROM地址空间的最高位(0FFFEh)。
◆ RAM
RAM的起始地址为0200H。RAM的结束地址决定于RAM的多少和单片机的种类和。RAM可用于存放代码或者数据。
◆ 外部设备模块
外部模块映射在地址空间里。0100-01FFH是为16位外部设备而保留的。访问此模块应该使用双字节指令。如果使用了单字节指令,则只允许偶地址访问设备,高字节位总是全部为0。010-0FFH是为8位的外部设备而保留的。访问此模块是可使用单字节指令,如果用双字节指令读取模块的入口字节,将导致双字节指令的高8位产生不可预见的数据。如果把双字节数据写入8位设备,则仅仅低字节被写入到设备的寄存器中,而忽略高8为的内容。
◆ 特殊功能寄存器
特殊功能寄存器中用于设置一些外围设备的功能。特殊功能寄存器位于地址空间的底16个字节中,以字节的方式组织起来的。特殊功能寄存器只允许被单字节指令所访问。关于各个数据位的具体应用还请参照相关数据手册。
◆ 存储结构
单字节位于奇地址或者偶地址。而双字节则只位于偶地址空间,当使用双字节指令时,只能使用偶地址。双字节的低8位总位于偶地址,而高8位则指向下一个奇地址。例如:如果一个双字节数据被存放于xxx4h位置,则它的低8位存放在xxx4h,而它的高8位则被存放于xxx5h。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。