3385|7

72

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

【求助】调试时出现很怪的问题 [复制链接]

我用1122做了个东西,当中有个数学运算的模块,不知道为什么当数学运算中的有幂运算时不能进行仿真和下载。并报出如下的错误提示:
Error[e16]: Segment CODE (size: 0x1080 align: 0x1) is too long for segment definition. At least 0xbe more bytes needed.
The pro××em occurred while processing the segment placement command "-Z(CODE)CODE=F000-FFDF", where at the
moment of placement the ××aila××e memory ranges were "CODE:f01e-ffdf"
Reserved ranges relevant to this placement:
f000-f01d CSTART
f01e-ffdf CODE
我的数学运算程序为:
unsigned int vcppm(unsigned int ad)
{
// Rs=(1-ad/1024)*r
// log(Rs)=k-b*logC
float r=2000.0,b=0.35,k=3.5412;
float y;
y=(1-ad/1024)*r;
y=(log10(y)-k)/b;
y=pow(10,y);
return (unsigned int)y;
}
各位高手谁能告诉我为什么啊?

最新回复

pow这些函数在哪个库里面呀?  详情 回复 发表于 2006-9-15 11:58
 
点赞 关注

回复
举报

78

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
好象是RAM区不够,子程序中的函数需要很多临时变量,而RAM区不够!
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
谢谢楼上的!但是我的这个程序在C51中运行的好的~!在430里RAM变为256竟然用不成了!!晕!
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

4
 
检查一下你的程序大小和FLASH大小,这段错误提示是FLASH空间不够
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

5
 
我也碰到了,后来发现前面多了不该加的语句,去掉就好了
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

6
 
提示很明显么  程序代码太大了   F1122的程序区只有1K  需要换个flash再大点的片子
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

7
 
数学函数中的幂函数的函数类型为:
dou××e pow(dou××e ,dou××e)
此函数需要占用4k内存,在低ram的单片机上应尽量避免使用,建议写个精度低些的函数来代替。我曾经试过,计算精度为f2.1的幂函数也要1k的
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

8
 
pow这些函数在哪个库里面呀?
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表