购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3 RAM

MC9S08AW60、MC9S08AW48、MC9S08AW32 具有 2 KB大小的片内RAM,其地址范围为$0070~$086F。MC9S08AW16 具有 1 KB大小的片内RAM,其地址范围为$0070~$046F。RAM空间主要用于存放用户程序中的各种变量,另外系统的堆栈也处于用户RAM空间。

对于$00~$FF范围的存储器地址,CPU可以通过多种有效的直接寻址方式进行访问,故$00~$FF范围存储空间也成为直接页存储空间,在这个区域的每一个位都可以通过位操作指令(BCLR、BSET、BRCLR、BRSET)进行访问,也可以把经常需要访问的程序变量存放到直接页存储空间内。

在Wait、Stop2、Stop3 低功耗模式下,RAM中的数据都被保存。在上电复位时,RAM中的内容不被初始化。只要供电电压不低于保存RAM数据所需要的最小电压,RAM中的数据就不会因为复位而受到影响。

为了和较老的M68HC05 系列的MCU保持兼容,HCS08 的堆栈指针SP的复位值为$00FF。对于MC9S08AW系列,最好重新初始化堆栈指针到RAM末端以便把直接页空间更多留给需要频繁存取的RAM变量和可位寻址程序变量使用。可以在初始化程序中使用下面两条指令来重新定位SP。

RAMEnd是指Freescale的MCU的RAM空间最末地址值,在MCU的头文件中定义,若RAMEnd=$086F,当执行上述两条指令后,SP=$086F。

当加密特性被允许之后,RAM被认为加密的存储器资源,不能被BDM或非加密存储器中执行的代码访问。有关加密特性的详细描述,请参看 14.2.2 节。 luyZwT+Eb0ix1iQ/MfKNH5FA5NxSqbwVhuOhsCIngOtXOXNxUHujIut8MtXyhNOF

点击中间区域
呼出菜单
上一章
目录
下一章
×