This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TMDX5535EZDSP:TI 嵌入式语音识别:在 exit.c&quot 处获取"abort();在 CCS 中调试时出错

Guru**** 2551110 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/607475/ccs-tmdx5535ezdsp-ti-embedded-speech-recognition-getting-abort-at-exit-c-error-when-debugging-in-ccs

器件型号:TMDX5535EZDSP

工具/软件:Code Composer Studio

 

编辑:

错误:无法打开 TIesr 实例202

这是我通过调试跟踪的错误。

 

 

 

您好!

当对 TI ESR 使用超过3个字的检测时、我会收到所附屏幕截图中所示的错误。

要生成语法、我将使用4个字、如下所示。

DIST/LinuxDebugGnu/bin/testitiesrflex \
"START( WakeGram )。
WakeGram -->([_fill]短语[_fill])|_fill.
短语-->昨天|明天|今天|第二天。” \
数据/格拉米\
数据/填充_模型\
英文\
2 0 1 0 0 0 0 0

然后、我将生成的.bin 文件转换为.c 和.h 文件。 然后将.c 和.h 文件复制到我的 CCS 项目中。

我成功构建了该项目。 当我运行调试并单击运行时、我会得到提到的错误。

奇怪的是、它成功运行了3个字。 但不超过3个。

请帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我已通知软件团队。 他们的反馈将在此处发布。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Abhi、

    遗憾的是、C5535的 TIesr TI 参考设计支持2个关键字、我们尚未真正测试更多短语、因此行为可能无法预测。 可能超出 MIPS 或某些其他资源限制。 不确定。

    Lali
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Lali、

    当我增加程序中的短语计数并重新生成 Gramms 文件时。 我在构建项目后看到内存分配增加(使用内存分配查看器)。 但我在那里看不到任何问题。
    有什么办法可以替代这种办法? 我能否连接任何外部板以克服此限制?

    编辑:

    我发现错误出现在下面突出显示的行中。

    /*
    A_size =(beam_R * total_bss)>> 16;//必须< 32766
    如果(a_size >= 32766)返回 eTIesrEngineSearchMemoryLimit;

    beam_Z = A_size;
    State_Z =(State_R * TOTAL_BSS)>> 16;
    symb_z =(total_bss - beam_sz * beam_Z - State_SZ * State_Z)>> 2;//例如、symb_sz 的 div
    *


    //PRT_ERR (printf ("总搜索内存:%d (字)\n"、search_size (beam_Z、symb_Z、State_Z、time_Z)));

    /*
    search_mem =(short *) malloc (search_size (beam_Z、symb_Z、State_Z、time_Z));
    *
    #ifndef DSPBIOS_BUILD // FL:使用 DSP/BIOS 堆
    search_mem =(short *) malloc (search_size (beam_Z、symb_Z、State_Z、time_Z)* sizeof (short));
    if (search_mem == NULL)
    返回 eTIesrEngineSearchMemorySize;
    其他
    search_mem =(short *) MEM_alloc (SEG0、search_size (beam_Z、symb_Z、State_Z、time_Z)* sizeof (short)、 0);
    if (search_mem == MEM_ILLEGAL_)
    返回 eTIesrEngineSearchMemorySize;
    #endif
    Set_search_space (search_mem、beam_Z、symb_Z、State_Z、time_Z、 gv);

    //print_free;// FL:调试

    返回 eTIesrEngineSuccessess;

    #endif

     

    这位于文件 siint.c 中 是否可以解决此问题? 请帮助。