打印

程序空间问题

[复制链接]
1823|27
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wuhany|  楼主 | 2021-4-12 20:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用16F1939单片机,程序比较大,编译后占用的FLASH空间达到了96%,但没出现什么问题,把程序下载到板子上后可以正常运行。已经好几个月了。
今天在程序里加了几行程序,但立刻编译错误

使用特权

评论回复
沙发
dingy| | 2021-4-12 20:17 | 只看该作者
错误原因?

使用特权

评论回复
板凳
wuhany|  楼主 | 2021-4-12 20:19 | 只看该作者
Error   [1347] ; 0. can't find 0x166 words (0x166 withtotal) for psect "text2110" in segment "CODE" (largest unused contiguous range 0x164)

使用特权

评论回复
地板
dengdc| | 2021-4-12 20:22 | 只看该作者

楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因

使用特权

评论回复
5
wuhany|  楼主 | 2021-4-12 20:24 | 只看该作者
我加的程序很简单,如下:        if(xx<10)
                xx=0;
        else
                xx-=10;

使用特权

评论回复
6
jlyuan| | 2021-4-12 20:26 | 只看该作者

很明显,超过范围了。你优化试试、

使用特权

评论回复
7
stly| | 2021-4-12 20:28 | 只看该作者
是的,需要优化代码了

使用特权

评论回复
8
renyaq| | 2021-4-12 20:29 | 只看该作者
另外,有个插件也可解决编译后空间紧张的问题

使用特权

评论回复
评论
wooda 2021-4-22 08:10 回复TA
啥插件,说来听听 
9
supernan| | 2021-4-12 20:31 | 只看该作者
借问用多大晶振你,匹配电容多大

使用特权

评论回复
10
huangchui| | 2021-4-12 20:33 | 只看该作者
你好, 是什么插件。可以告知吗??

使用特权

评论回复
11
jlyuan| | 2021-4-12 20:38 | 只看该作者
编译器版本和模式都有影响

使用特权

评论回复
12
wuhany|  楼主 | 2021-4-12 20:40 | 只看该作者

其实还是不大明白,我再琢磨琢磨吧,多谢了哈先

使用特权

评论回复
13
奔波儿熊| | 2021-4-21 18:09 | 只看该作者
看错误描述像是程序超出flash地址了。

使用特权

评论回复
14
wooda| | 2021-4-22 08:09 | 只看该作者
XX的类型是什么,byte或者2byte的,生成的代码差别好大的。

使用特权

评论回复
15
Latin_newday| | 2021-4-22 09:31 | 只看该作者
编译器优化。
或者查看下程序,删除无用的代码。

使用特权

评论回复
16
wooda| | 2021-4-23 09:26 | 只看该作者
握手楼主这样动不动用到90%以上,我也是这样。
不过我发现同样的算法,用不同的c写,出来的代码长度会有很大不同,[我老干这事了]
lz不妨研究下,会很有成就感。

使用特权

评论回复
17
systemchip| | 2021-4-26 09:42 | 只看该作者
碎片化的空余程序空间不能满足连续地址空间的大小要求就是这结果了....

使用特权

评论回复
18
AINZGOWN| | 2021-4-28 09:28 | 只看该作者
得优化代码了,把一些跳过编译器优化的语句改一下看看。

使用特权

评论回复
19
aoyi| | 2021-5-11 14:44 | 只看该作者
这个单片机多大的flash啊

使用特权

评论回复
20
drer| | 2021-5-11 14:49 | 只看该作者
外挂一个存储芯片呢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

879

主题

10435

帖子

4

粉丝