请教关于PRM中RAM-NO_INIT

[复制链接]
3296|4
 楼主| 王培1 发表于 2007-12-18 08:54 | 显示全部楼层 |阅读模式
RAM, ni, TE, ST, RS
<br />&nbsp;&nbsp;&nbsp;&nbsp;1:我看张教主的关于CW的说明中,通过对PRM文件的修改,可以在上电对RAM进行管理(可以清0,也可以不清0),那么我想问是否种做法和把变量声明成persistent一样<br />&nbsp;&nbsp;&nbsp;&nbsp;2:这个Z_RAM的区域和RAM有什么不同吗
张明峰 发表于 2007-12-18 21:20 | 显示全部楼层

RAM

CW的C编译器不支持persistent变量修饰定义,不能向Hi-tech的PICC编译器那样定义非清0变量;<br />Z_RAM和RAM的区别很清楚,看prm文件中这两部分对应的RAM地址就明白了
 楼主| 王培1 发表于 2007-12-19 08:45 | 显示全部楼层

谢谢教主指点

1:<br />CW的C编译器不支持persistent变量修饰定义,不能向Hi-tech的PICC编译器那样定义非清0变量;<br />&nbsp;&nbsp;这个问题我清楚了<br />2:Z_RAM和RAM的区别<br />&nbsp;&nbsp;我可能没有说清楚,因为我是从C学习FSL的,所以对低层的硬件结构不是太清楚,我想问的是Z_RAM和RAM的使用上是不是内似430的R寄存器,可以直接对总线操作,速度最快,在子程序中如果没有声明成static&nbsp;临时变量都会放在这个区域
张明峰 发表于 2007-12-19 17:08 | 显示全部楼层

一般在PRM文件中,Z_RAM是指地址范围00-FF的RAM区,这一区域可以用单片机直接寻址的方式访问,速度快,代码短。特别是针对所有直接位操作的指令,它们只能访问这一区域。0x100以上即PRM文件标定的RAM区只能用HX寄存器组(16位指针)间接寻址,速度稍慢,代码稍长。<br />只要记住地址范围不同而造成的寻址方式区别这一关键点就可以了。至于Z_RAM或RAM那是你自己可以随便给个名字的,如果你喜欢。
 楼主| 王培1 发表于 2007-12-21 09:05 | 显示全部楼层

RE 张教主

好的,谢谢教主指点&nbsp;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

142

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部