您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 技术讨论区 -> [求助]数组传到子函数,值怎么变了
本帖共有792个阅读者
发表帖子 发表投票 回复主题
[求助]数组传到子函数,值怎么变了
longyi2003(论坛新手)
longyi2003
头衔:社区公民
帮派:无帮无派
帖数:16
金钱:250
积分:24
注册时间:2012/11/15
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
[求助]数组传到子函数,值怎么变了
andy大神
能帮我看下程序不?
我的main函数里面的x[],y[]导入的值是对的,当执行到r=imf(x,y,x1,y1,x2,y2);子函数时,x[],y[]里面只有一组值了,main主函数如下所示,全部工程已上传到附件。
   initTimer();
int x[N],y[N];
int x1[N/2],y1[N/2],x2[N/2],y2[N/2];   //x1存放信号极大值处的横坐标值,y1存放信号极大值
int *r;
int i,count=0;

fp1=fopen("../x.txt","r");
for(i=0;i<N;i++)
{
fscanf(fp1,"%d",&x[i]);
}

fclose(fp1);

fp2=fopen("../y.txt","r");
for(i=0;i<N;i++)
{
fscanf(fp2,"%d",&y[i]);
}
fclose(fp2);

do
{
r=imf(x,y,x1,y1,x2,y2);






「该帖子被 longyi2003 在 2013-07-07 20:27:07 编辑过」

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/2/28 21:18:11
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

执行你的代码会在spline 函数跑飞,我看这个函数里面有很多malloc,你仔细单步跟一下,看是否为L1空间用超导致。通常L1用超了,会产生一些莫名问题


这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2013/3/4 12:41:11
longyi2003(论坛新手)
longyi2003
头衔:社区公民
帮派:无帮无派
帖数:16
金钱:250
积分:24
注册时间:2012/11/15
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

怎么看L1空间是否用超了?用超了要怎么解决啊?


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/8/4 20:58:47
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
3信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
把工程选项中,LDF部分,有几个:system heap ,user heap,system stack,把他全都选到SDRAM中,单位换成M,避免你的代码中有申请空间的,申请不到,导致代码跑飞。

另外你用section("sdram0_bank1")  指令,放到你使用的比较大的数组前面,或者你的一些不常用的函数前面,减少L1的使用。



这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2013/8/13 9:40:32
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.154145 Call, 3 Queries, Processed in 0.016000 second(s),