bigbaicai

芯方式是以半导体人、电子工程师等电子行业相关领域从业人员为核心的知识经验学习、分享、交流社群。 凭借开放、合作、共赢的运营理念,聚集了来自国内外知名院校和顶尖科技公司的半导体人、电子工程师。 我们致力于营造专业、认真、有温度的分享交流环境,将高质量的内容和方案成规模地生产和分享,帮助个人和团队在芯方式找到有价值的Key。 http://www.icfans.com/

如何修改Code,确保可以抓取到VM Log

0
阅读(706)

如何修改Code,确保可以抓取到VM Log


[DESCRIPTION]
如何修改Code确保可以抓取到VM Log
[SOLUTION]
首先需要设置Makefile中VM_CODEC = true,再修改如下Code(仅供测试,问题解决后请恢复,搜索AAAA,即可找到需要
修改的地方):
1、\hal\audio\src\v1或V2\sp_enhance.c
void SPE_LoadSpeechPara( uint16 c_para2[NUM_COMMON_PARAS], uint16 m_para[NUM_MODE_PARAS],uint16
v_para[NUM_VOL_PARAS] )//AAAA Modify the first para c_para->c_para2
{
uint16 *para;
volatile uint16* dsp_ptr;
int I;
uint16 c_para[NUM_COMMON_PARAS];//AAAA Add this line
memcpy(c_para, c_para2, NUM_COMMON_PARAS*sizeof(uint16));//AAAA Add this line
if(c_para)
{
c_para[0] = 6;//AAAA Add this line
#if defined( NEW_BLOCK_FILTER_SUPPORT )
。。。
}
2、\hal\audio\src\v1或V2\vm.c
void vmRecord( mediaControl *ctrl, uint16 type )
{
vm.ctrl = ctrl;
vm.type = type;
vm.state = VM_STATE_RECORD;
vm.vmBuf = (int16 *)get_ctrl_buffer( VM_BUFFER_SIZE );
memset( vm.vmBuf, 0, VM_BUFFER_SIZE );
if( AM_IsSpeechOn() ) {
vm.control = 0x0003;
//vm.debug_info = L1Audio_GetDebugInfo(VM_DEBUG_INFO); //AAAA Remove this line
vm.debug_info = 3;//L1Audio_GetDebugInfo(VM_DEBUG_INFO); //AAAA Add this line

---------------------end--------------------


如果VM_Codec这个宏默认就是TRUE的话,如上修改,只需remake audio这个模块再按照如下步骤操作试试看(新版本上面下面某些步骤可能没有,如果下面某几步没有的话,请忽略,把能操作的操作了之后,拨打一通电话,如能找到以vm结尾的文件即可):


(1)enter "Engineer Mode"
(2)enter \Audio\Auto Record Setting\VM Support ==> select On
(3)enter \Audio\Auto Record Setting\Auto Speech Record ==> select On
(4)enter \Audio\Debug Info\Parameter 0 ==> set value = 3
(5)enter \Audio\Speech Enhancement\Common Parameters\Parameter 0 ==> set value = 6
(6)leave "Engineer Mode"
(7)enter "Menu"
(8)enter "Multimedia"
(9)enter \Sound Recorder\Option\Settings\File Format ==> select VM
(10)enter \Sound Recorder\Option\Settings\Storage ==> select memory card or phone please check the storage size should larger than 20MB
(11)The vm file will be saved in "Audio" or “AutoVM” folder, please find in "File Manager"
(12)Make a phone call to reproduce the issue, then dump the *.vm file after drop call


需要注意的是,每通电话都会产生一个VM Log,如果没有复现问题,请帮忙移除或者删除对应VM Log,以免造成混淆。新版本上面VM Log存放路径可能会有变化,如找不到,请在T卡上搜索以vm结尾的文件试试看。

请帮忙及时确认相关信息,提供Log时,还请帮忙尽量详细描述一下您的操作步骤以及看到的现象,以加速问题分析解决。半导体那些事儿