打印
[DSP编程]

tms320c5535加了一个滤波运算后,调试时工作,下载后不工作

[复制链接]
1395|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
spirituallife|  楼主 | 2015-7-8 10:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序是参考程序,完成音频的回放功能。
Int16 aic3204_loop_linein( )
{
   
    /* Initialize 5535 */
    .....
     
    /* Play Loop for 5 seconds */
    for ( sec = 0 ; sec < 5 ; sec++ )
    {
        for ( msec = 0 ; msec < 1000 ; msec++ )
        {
            for ( sample = 0 ; sample < 48 ; sample++ )
            {
                /* Read 16-bit left channel Data */
                EZDSP5535_I2S_readLeft(&data1);
               
                /* Read 16-bit right channel Data */
                EZDSP5535_I2S_readRight(&data2);
               
                /* Write 16-bit left channel Data */
                EZDSP5535_I2S_writeLeft(data1);
               
                /* Write 16-bit right channel Data */
                EZDSP5535_I2S_writeRight(data2);
            }
        }
    }
    EZDSP5535_I2S_close();    // Disble I2S
    AIC3204_rset( 1, 0x01 );  // Reset codec
   
    return 0;
}

在该例程的基础上,我加了滤波的代码,

程序是参考程序,完成音频的回放功能。
Int16 aic3204_loop_linein( )
{
   
    /* Initialize 5535 */
    .....
     
    /* Play Loop for 5 seconds */
    for ( sec = 0 ; sec < 5 ; sec++ )
    {
        for ( msec = 0 ; msec < 1000 ; msec++ )
        {
            for ( sample = 0 ; sample < 48 ; sample++ )
            {
                /* Read 16-bit left channel Data */
                EZDSP5535_I2S_readLeft(&data1);
               
                /* Read 16-bit right channel Data */
                EZDSP5535_I2S_readRight(&data2);
               
/* filtering data1 */
.....
/* filtering data2 */
...

                /* Write 16-bit left channel Data */
                EZDSP5535_I2S_writeLeft(data1);
               
                /* Write 16-bit right channel Data */
                EZDSP5535_I2S_writeRight(data2);
            }
        }
    }
    EZDSP5535_I2S_close();    // Disble I2S
    AIC3204_rset( 1, 0x01 );  // Reset codec
   
    return 0;
}


经过CCS进行build之后,进入debug->run,能够完成滤波功能。
但是将*.out文件转成*.bin,并烧写到5535中之后,程序工作不正常,现象时完全听不出音乐了。

请问可能的原因是什么?本人估计是DSP BIOS没有设置

相关帖子

沙发
zhangmangui| | 2015-7-8 21:35 | 只看该作者
你好    在RAM中跑是没有问题的是吧  
.out转.bin没有问题吧     
两个方面你确保一下   读出你烧写后的数据   通过CCS的memory查看
并打开.bin   对比一下烧写的和读出的是一样的吗

使用特权

评论回复
板凳
第七子| | 2019-6-13 22:07 | 只看该作者
请问你的这个ccs编译环境下,c5535的sizeof(int)是多少啊,我的是1,结果不太对啊

使用特权

评论回复
地板
zhangmangui| | 2019-6-22 17:03 | 只看该作者
sizeof(int)返回的是字节数吧   

使用特权

评论回复
5
zhangmangui| | 2019-6-22 17:03 | 只看该作者
第七子 发表于 2019-6-13 22:07
请问你的这个ccs编译环境下,c5535的sizeof(int)是多少啊,我的是1,结果不太对啊 ...

在DSP中数据类型你需要研究一下   

使用特权

评论回复
6
zhangmangui| | 2019-6-22 17:05 | 只看该作者
第七子 发表于 2019-6-13 22:07
请问你的这个ccs编译环境下,c5535的sizeof(int)是多少啊,我的是1,结果不太对啊 ...

https://bbs.21ic.com/icview-556056-1-1.html?ordertype=1

使用特权

评论回复
7
第七子| | 2019-8-20 20:58 | 只看该作者
zhangmangui 发表于 2019-6-22 17:05
https://bbs.21ic.com/icview-556056-1-1.html?ordertype=1

谢谢啦,最近在优化代码,没怎么看回复的晚了,我在一本书上招到了数据类型,tms320c5535的一个字节是16位的,不过文件读写的时候还是只是八位八位的,现在已经解决了,感谢!

使用特权

评论回复
8
蒋博1026| | 2019-8-21 08:38 | 只看该作者
第七子 发表于 2019-6-13 22:07
请问你的这个ccs编译环境下,c5535的sizeof(int)是多少啊,我的是1,结果不太对啊 ...

这个至于操作系统的位数有关系吧。因为在不同平台下各种数据类型所占的内存字节数不尽相同(譬如int在32位系统上为4字节,在16位系统上为2字节)

使用特权

评论回复
9
第七子| | 2019-8-21 19:59 | 只看该作者
蒋博1026 发表于 2019-8-21 08:38
这个至于操作系统的位数有关系吧。因为在不同平台下各种数据类型所占的内存字节数不尽相同(譬如int在32 ...

这个是在dsp上面实现的,是根据芯片自己定义的数据类型来的

使用特权

评论回复
10
蒋博1026| | 2019-8-23 09:42 | 只看该作者
第七子 发表于 2019-8-21 19:59
这个是在dsp上面实现的,是根据芯片自己定义的数据类型来的

就是这个意思,实现的平台不一样,具体的定义也会有所不同,

使用特权

评论回复
评论
第七子 2019-8-23 19:34 回复TA
以后还是要多看看手册什么的,第一次接触dsp还是不太熟悉 
11
蒋博1026| | 2019-8-23 09:43 | 只看该作者
zhangmangui 发表于 2019-6-22 17:03
sizeof(int)返回的是字节数吧

是的,sizeof(int)就是返回的int类型变量在内存中所占的字节数

使用特权

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

本版积分规则

2

主题

5

帖子

1

粉丝