STC单片机内存、容量、内部Flash不够用的一种解决方法

当使用STC89C51或STC15x04等单片机时,若编译后的代码大小超过其4K的内部Flash,可能导致烧录失败。为解决此问题,可以在Keil5编程平台上通过优化代码来减小编译后的程序大小。具体操作包括点击‘OptionsforTarget’,在‘C51’选项中选择优化等级9,以实现代码压缩。重新编译后,代码占用空间会减少,从而暂时缓解Flash不足的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.编程平台:Keil 5

        最近在使用STC单片机时遇到内部Flash不够用的情况,常见的STC89C51、STC15x04单片机内部Flash是4K(编译code=4096),如果在使用过程中代码刚好超过4K,则程序编译烧录进去后可能单片机会没有反应,即会出现烧录失败。

内部Flash快爆了

 

2.关于解决办法具体操作方法如下:

主要是从Keil 5编程平台去勾选更好的代码优化,可以将编译后的代码占存减小,可缓一时之急。

①.在Keil 5主界面点击图示按钮,即“Options for Target”

 


②.在“Options for Target”中选择“C51”,选择优化等级9

 

代码程序重新编译后:

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式创客工坊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值