KEIL compact模式下怪现象

[复制链接]
3626|3
 楼主| cabbageybc 发表于 2011-3-12 22:49 | 显示全部楼层 |阅读模式
使用keil在 compact 模式下 单步调试,发现一个很奇怪的现象:点击单步调试时  全局变量和局部变量不能被初始化(都为0) 在small模式下则正常。但是两者程序运行结果都是对的,但是  我的程序有点大  先统一设置为compact模式先调试,但是单步 调试  不初始化给我带来麻烦  望高手指点
airwill 发表于 2011-3-14 20:31 | 显示全部楼层
COMPACT 模式,所有变量 缺省都放在外部数据区的一页中 这就象用 pdata 声明的一样 这存储模式可提供最多256字节的变量 这些变量通过寄存器R0和R1 的 @R0 @R1 间接寻址.
而 SMALL 模式, 所有变量缺省放在 DATA 区.
发现变量没有 0 初始化吧? 办法有:
1. 把要初始化的变量放 DATA 区
2. 或者修改 startup.a51 文件, 设置 PDATALEN (pdata 区数据长度)
ayb_ice 发表于 2011-3-15 08:34 | 显示全部楼层
你看到的只是假象
默认的是255页
 楼主| cabbageybc 发表于 2011-3-28 20:24 | 显示全部楼层
2# airwill
多谢指点
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

148

帖子

1

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