??急:ccs下stack大小更改

davidcroft 2009-04-14 12:34:51
新手求助
在CCS中模拟平台下写了个最简单的显示图像的程序
#include <stdio.h>
#include <assert.h>
#include <string.h>

#define ROW 576
#define COL 720


void main()
{
int i,j;
unsigned char Y[576][720];
unsigned char U[576][720];
unsigned char V[576][720];
unsigned char RGB[3];
FILE *fid=fopen("butterfly.bmp","rb");
assert(fid!=NULL);
fseek(fid,54,SEEK_SET);
for(i=0;i <ROW;++i){
for(j=0;j <COL;j++){
fread(RGB, sizeof(unsigned char), 3, fid);
Y[i][j]=0.257*RGB[2]+0.504*RGB[1]+0.098*RGB[0]+16;
if(j%2==0){
U[i][j]=-0.148*RGB[2]-0.291*RGB[1]+0.439*RGB[0]+128;
V[i][j]=0.439*RGB[2]-0.368*RGB[1]-0.071*RGB[0]+128;
}
}
}
fclose(fid);
puts("!!!finish!!!");
}

但编译过程中链接时显示
[ext1.c] "D:\Program Files\CCS\C6000\cgtools\bin\cl6x" -g -pdsw225 -fr"D:/Program Files/CCS/MyProjects/1/Debug" -d"_DEBUG" -mv6400 -@"1/Debug.lkf" "ext1.c"
"ext1.c", line 12: warning: variable "Y" was set but never used
"ext1.c", line 13: warning: variable "U" was set but never used
"ext1.c", line 14: warning: variable "V" was set but never used

[Linking...] "D:\Program Files\CCS\C6000\cgtools\bin\cl6x" -@"Debug.lkf"
<Linking>
>> warning: creating .stack section with default size of 400 (hex) words.
Use -stack option to change the default size.
>> warning: creating .sysmem section with default size of 400 (hex) words.
Use -heap option to change the default size.
模拟运行时好像堆栈会溢出,请问是堆栈的空间太小了吗?如果是的话怎么更改.stack的默认大小?
还有为什么显示我Y U V设了但没用到呢?我不是令它为数组了嘛?!
还有,怎么在CCS下更改堆栈的大小
谢谢
...全文
647 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiemnij 2009-04-14
  • 打赏
  • 举报
回复
从编译结果看..
你的YUV定义了没有使用..
另外你的 堆 和 堆栈都没有定义大小.
所以连接器采用了默认的堆 和 堆栈的大小 .1K
如果你要修改 堆 和 堆栈的大小 有两种方式.
1.直接在 ccs上面修改
debug->build option->linker ->heap size | statck size 那里添入就可以了
2.直接用cmd 文件上面用-stack -heap 修改.

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧