找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2009|回复: 4
打印 上一主题 下一主题
收起左侧

请教如何解决Keil C51v960a版本编译产生代码过大的问题?

[复制链接]
跳转到指定楼层
楼主
本帖最后由 岳耳 于 2021-10-9 09:08 编辑

      俺一个项目在STC15W408AS下开发的(8Kflash),之前用C51v956版本编译后,代码长度01FD7,可以正常刷入单片机。最近闲着无聊把Keil升级到C51v960a,编译后代码长度020ED,ISP报告:文件大小超出程序区范围....部分移入EEPROM,刷入后不能正常运行。
     C51v960a是官网下载安装,编译后的代码刷入64k flash的STC8A8K64单片机能正常运行,说明Keil的安装没问题。
     查看了一下,两个版本的设置都一样,请教一下,如何解决V960a编译后的代码冗长的问题?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:965325 发表于 2021-10-10 10:45 | 只看该作者
自己顶,目前暂时退回V956版本使用了。
回复

使用道具 举报

板凳
ID:969272 发表于 2021-10-11 23:21 | 只看该作者
选项里的压缩选项改一下试试,我也碰到过,后来用老古董keil UV2编译了才能刷入。

回复

使用道具 举报

地板
ID:883242 发表于 2021-10-12 12:54 | 只看该作者
查map文件看看哪个模块变大了,然后生成汇编代码,以后那个变大的模块用汇编就行了。
回复

使用道具 举报

5#
ID:965325 发表于 2021-10-14 07:57 | 只看该作者
sh1900 发表于 2021-10-11 23:21
选项里的压缩选项改一下试试,我也碰到过,后来用老古董keil UV2编译了才能刷入。

这三个选项都试过,对于V960a版本,三个选项产生的代码长度完全一样。

对于V956版本,反而时“注重速度”产生的代码最短,并且所有选项产生的代码长度都小于V960a版本。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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