打印

KEIL compact模式下怪现象

[复制链接]
2900|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

粉丝