找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

关于单片机keil设置xdata后系统不能运行的故障,求解析

查看数: 4709 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-8-25 15:14

正文摘要:

单片机编程软件keil xdata设置如下图设置 求问,为什么能正常编译成功 但是程序却跑不起来呢

回复

ID:104984 发表于 2021-8-9 19:41
我把受影响的变量声明data就可以正常工作了,几个全局变量,256字节大数组在xdata没有问题
ID:387733 发表于 2018-8-27 12:15
art_jianda 发表于 2018-8-27 08:50
是这样的  我有两份代码  A份是变量少的 xdata空间是2816byte B份是变量多的 编译的时候提示xdata超出空间 ...

你的B代码xdata超出芯片空间了,你把空间调大只是编译通过了,实际芯片内部没有变化,A代码变量少,所以前后都能正常工作,而B代码超出空间,你调整编译器空间,使得编译正常通过,实际工作时,一部分超界的变量不能工作,当然不能正常了。keil设置空间只是告诉编译器我有那么大的空间,它并不知道你是否欺骗了它。
ID:383840 发表于 2018-8-27 08:50
是这样的  我有两份代码  A份是变量少的 xdata空间是2816byte B份是变量多的 编译的时候提示xdata超出空间大小  所以我把A、B两份xdata空间调整成3072byte 最后A代码烧进去系统能正常工作 B代码烧进去不能正常工作 但是减少B代码中变量的数量 B代码也可以正常了 这是为什么呢 难道这个keil设置空间是没用的 仅仅是依靠实际代码情况来工作的?
ID:277550 发表于 2018-8-25 22:46

为何要修改配置资料,修改地址要修改得正确才行,在代码中使用就好了。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表