MSP430单片机存储器结构总结

   

   MSP430 内部存储器的类型有:程序存储器 FLASH、数据存储器 RAM、外围模块寄存器、特殊功能寄存器。典型微型计算机的存储器都是采用冯•诺依曼结构,也称普林斯顿结构,即存放程序指令的存储器——程序存储器和存放数据的存储器——数据存储器采取统一的地址编码结构。程序存储器与数据存储器分开的地址编码结构称为哈佛结构,如 MCS-51 系列微处理器。MSP430 采用冯•诺依曼结构。其安排如图 1-1 所示,全部寻址空间为 64K字节。需要注意的是,虽然MSP430  16 位的微处理器,但其寻址空间还是按照字节来计算的。从 0  0xF 为特殊功能寄存器。共 16 个字节,包含中断标志寄存器1IFG1)、中断标志寄存器 2IFG2)、中断允许寄存器 1IE1)、中断允许寄存器 2IE2)、模块允许寄存器 1ME1)、模块允许寄存器 2ME2)。

    0x10  0x1FF 为外围模块寄存器。包含被定时器、AD 转换器、对外端口等模块用到的寄存器。

    0x200 开始为数据存储器 RAM。不同型号中数据存储器的大小不同,但都是从 0x200 地址开始向高端地址扩展。如 MSP430F149 的数据存储器容量为 2KB,其地址范围即为 0x2000x9FF

    0x0C00  0x0FFF  BOOT ROOM。其中存储的内容是生产芯片时掩模在芯片内的一段代码,此段代码用来完成

BSL bootstrap)功能。使芯片的保密熔丝熔断以后,仍然可以通过 BSL 方式修改芯片内的代码。

    0x1000  0x107F  128 个字节的 FLASH 存储器,称为信息存储器 B。此段存储器与高端地址存储代码的 FLASH 存储器本质上没有任何不同,同样也可以存储代码并执行,只是这一段存储器的长度较小,只有 128 个字节。主要用来存储一些掉电后仍需保存的数据。由于它是 FLASH 存储器,因此可以按照字或者字节写入,但必须整段擦除。

    0x1080  0x10FF 为信息存储器 A。功能与信息存储段 B 相同。

   程序存储器从 0xFFFF 开始向低端地址扩展,不同型号中程序存储器的容量不同,但都是从 0xFFFF开始向下扩展。如MSP430F133 的程序存储器容量为 8KB,其地址范围即为0xE0000xFFFFMSP430F149 的容量为 60KB,其地址范围为 0x11000xFFFF

   需要注意的是,在程序存储器容量为 60KB 的芯片中,程序存储器与信息存储器 A发生了重合,从地址0xFFFF 向低端地址扩展 60KB,其地址范围为 0x10000xFFFF,而信息存储器 A  B 的地址范围为 0x10000x10FF。程序存储器是 flash 存储器,分为若干段进行管理,可以按照字或者字节写入,擦除时无法按照字或者字节擦除,每次至少擦除一段,每段长度为 512 字节。

 0xFFE00xFFFF 是程序存储器的一部分,共 32 个字节。MSP430 规定用这一段存储器来存储各种中断的中断向量。

   由于程序存储器、信息存储器、数据存储器都是统一寻址的,所以,程序在这 3 种存储器中均可执行。不同的是,程序放在数据存储器中,掉电后就会丢失,并且很容易在执行中被改写,故一般情况不会将程序放在数据存储器中执行。修改程序存储器中的内容必须经过解锁操作才能进行,否则会引起系统复位,MSP430 的存储结构使得使用 C 语言编程所得到的代码仍然有很高的执行效率,因此,除非对程序的大小和执行时间有很高的要求,否则都应该选用 C 语言编写程序。

转载于:https://www.cnblogs.com/Zero_Victor/archive/2013/06/08/3127056.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值