• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STC单片机下载时候显示文件大小超出范围,

Wyatt0007 2018-12-29 浏览量:6188
STC单片机下载时候显示文件大小超出范围,怎么解决能够把所有程序都下进去
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 1、代码精简

    2、代码复用——只要多次执行的代码,尽可能用函数

    3、采用level3级编译优化

    上述建议只能部分解决

    如果代码实在大,还是换个大容量MCU好了。

    • 发布于 2019-01-02
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:19
  • 这是因为你的程序编译后产生的执行文件超过了单片机的FLASH空间,通过优化程序减少占用空间解决。为了避免这样的情况出现,如果你是使用KEIL编程的话,建议你把STC的芯片库添加到keil中,STC的程序下载软件就可以自动将芯片库添加到keil中,然后你在新建工程的时候选择相应的芯片型号就可以避免这样的情况出现了。当你选择相关型号的芯片时,编译器会在编译代码的时候检测你程序的占用空间是否超出芯片的flash空间。
    • 发布于2018-12-29
    • 举报
    • 评论 1
    • 5
    • 0
FEItwo 回复了 我是假管贴心小助手 :讲解的很详细啊 回复

  • 只能精简自己的代码:去掉一些无用变量,适当岁间数组长度等。

    • 发布于2018-12-29
    • 举报
    • 评论 1
    • 3
    • 0
Spirit 回复了 快没时间了 :变量占用Flash空间吗? 回复

  • 可以优化程序减少程序大小

    或者换内存大的单片机

    • 发布于2018-12-29
    • 举报
    • 评论 0
    • 2
    • 0

  • 建议简化程序,变量多占用内存大!
    • 发布于2018-12-29
    • 举报
    • 评论 0
    • 1
    • 0

  • 1、提高程序优化等级

    2、想办法减少程序中的代码量,这里你需要注意的是到底是FLASH不够还是RAM不够,这需要注意一下

    • 发布于2018-12-29
    • 举报
    • 评论 0
    • 1
    • 0

  • 可以换用flash空间更大的stc单片机。
    • 发布于2018-12-29
    • 举报
    • 评论 0
    • 1
    • 0

  • 可以试试12C5A60S2这些大flash的芯片,不过stc单片机程序过大还是影响性能的,负载程序建议上stm32
    • 发布于2018-12-29
    • 举报
    • 评论 0
    • 1
    • 0

  • 只能优化程序大小,减少一些变量和数组的使用的等

    • 发布于2018-12-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 先优化程序,再换个芯片看看效果,尽量少用变量
    • 发布于2018-12-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 优化代码吧,少用全局变量和数组,少定义函数,在一个函数里能处理的就用1个函数。
    • 发布于2018-12-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 精简代码使它不要超过当前芯片的容量,或者是使用外部ROM来扩展。另外就是更换其它型号容更大一些的芯片。
    • 发布于2018-12-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 编译后的HEX太大了,重新优化一下代码看看,或者换大容量单片机
    • 发布于2019-01-01
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以使用  优化代码 的选项,减小程序大小

    或者自己检查代码,修改代码,减少代码量

    • 发布于2019-01-04
    • 举报
    • 评论 0
    • 0
    • 0

  • 这种物理上面的存储量不够的,即便下载了,运行也会异常,还不如想想能否优化程序
    • 发布于2019-01-09
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STC单片机下载时候显示文件大小超出范围,