打印

菜鸟求教!CCS编译无误但下载运行不了

[复制链接]
1328|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
songdaxuan|  楼主 | 2018-12-7 15:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
     我是DSP初学菜鸟一个,今天用C语言编写CCS代码时,在主函数内定义了一个长度为8000的二维整型数组,然后后面一个子函数对其进行一些简单处理,确定函数逻辑无误(在VS2013中能运行出结果),但是在CCS中编译无误的情况下怎么也运行不出结果,设置断点也看不到函数到底跑飞到了哪里(好像连主函数都没进。。),cmd文件设置检查也没有问题,后来将这个数组移到主函数之外定义成全局的,发现在map文件中它的存储位置从.const段移到了.bss段,我在cmd文件修改这两个段存储器大小后再编译运行发现程序这时运行无误了,求教各位大神这到底是什么原因?    我在网上查的资料对.const段和.bss段解释如下:
    .const      存放已明确初始化的字符串常量,全局常量和静态常量
     .bss       存放没有初始化的全局变量和静态变量。在小模式中,.bss块也为常数宏保留空间。     按照这个解释我之前在主函数内定义的数组应该是已初始化的局部变量,为什么会存储在const段中,后面移出主函数也应该是初始化了的全局变量啊,搞不懂。。。
     下面是我的部分代码,就是在加了分帧函数后出了问题。






#include <stdio.h>
#include <stdlib.h>
#include "..\Include\type.h"
#include "..\Include\func.h"
#include "..\Include\global.h"


int f[frame_num][frame_len]={0};


int main(int argc, char **argv)
{
        int i;
//        int f[frame_num][frame_len]={0};
        int *p_buf;
        int *p_buf2;


        p_buf = &pcm_buf[0];
        p_buf2 = &pcm_buf2[0];
//        p_buf3 = &pcm_buf3[0];
       //变声类型


//预加重滤波
        Pre_Filter(p_buf, p_buf2);
//分帧
        fra(f,p_buf2);
    return 0;
}





//分帧
void fra(int(*f)[frame_len], int *data_in)
{
        int i, j ;
        int n = 0;
        for(i=0;i<frame_num;i++)
        {
                for(j=0;j<frame_len;j++)
                {
                        f[j] = data_in[n];
                        n++;
                }
                n = n - frame_len / 2;                  //帧移frame_len/2
        }
}






相关帖子

沙发
gray5233| | 2019-3-14 16:32 | 只看该作者
我也有这问题,不知楼主是否知道问题出在哪里。我感觉是.CMD 分配出了问题

使用特权

评论回复
板凳
zhangmangui| | 2019-3-14 21:04 | 只看该作者
堆栈设置大一些  编译看看     能不能运行到想要的结果

使用特权

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

本版积分规则

10

主题

52

帖子

1

粉丝