音频例程audiolineinsave代码部分求解 - TMS320C6748 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3853|回复: 2

[未解决] 音频例程audiolineinsave代码部分求解

[复制链接]

20

主题

48

帖子

211

积分

中级会员

Rank: 3Rank: 3

积分
211
发表于 2018-1-25 11:00:07 | 显示全部楼层 |阅读模式
在本SYSBIOS例程中,在音频的输入输出的·task.c文件部分有如下代码:
Cache_inv((void *)rxBufPtr[lastFullRxBuf], AUDIO_BUF_SIZE, Cache_Type_ALLD, TRUE);//INV
// 复制 buffer
memcpy((void *)txBufPtr[lastSentTxBuf],(void *)rxBufPtr[lastFullRxBuf],AUDIO_BUF_SIZE);
Cache_wb((void *)txBufPtr[lastSentTxBuf], AUDIO_BUF_SIZE, Cache_Type_ALLD, TRUE);


注意到有用到cache功能,但是查看工程的map文件,发现并没有用到RAM空间,如下

MEMORY CONFIGURATION

         name            origin    length      used     unused   attr    fill
----------------------  --------  ---------  --------  --------  ----  --------
  IROM                  11700000   00100000  00000000  00100000  R  X
  L3_CBA_RAM      80000000   00020000  00000000  00020000  RW X
  DDR                    c0000000   08000000  014544a0  06babb60  RW X


查看之前基于startware库实现的例程AUDIO_LINE_IN,也没有使用cache缓存,核心代码如下
// 复制 buffer
memcpy((void *)txBufPtr[lastSentTxBuf], (void *)rxBufPtr[lastFullRxBuf], AUDIO_BUF_SIZE);





但是如果尝试将cache功能代码屏蔽掉,只保留复制buffer的代码,SYSBIOS的例程就不能工作了,
对这个现象很奇怪,然后也不是很理解为什么要在SYSBIOS的例程中多加这两个cache的函数,求解答。
回复

使用道具 举报

12

主题

169

帖子

731

积分

QQ游客

积分
731
发表于 2018-1-26 20:38:38 | 显示全部楼层
您好,饶工,如之前沟通,请问您对于代码部分,还存在疑问?您的邮件问题,已转发给对应的DSP软件工程师跟进,会尽快给您回复的。
回复 支持 反对

使用道具 举报

20

主题

48

帖子

211

积分

中级会员

Rank: 3Rank: 3

积分
211
 楼主| 发表于 2018-1-29 09:35:32 | 显示全部楼层
广州创龙廖工 发表于 2018-1-26 20:38
您好,饶工,如之前沟通,请问您对于代码部分,还存在疑问?您的邮件问题,已转发给对应的DSP软件工程师跟 ...

感谢廖工的解答,这个跟之前报告的问题没有关系,纯粹是从代码的角度看音频例程。
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-3-29 04:51 , Processed in 0.061335 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表