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.

[参考译文] IWR6843AOPEVM:报告错误:xdc.runtime.Error.raise:正在终止执行

Guru**** 2539500 points


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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1263276/iwr6843aopevm-reporting-error-xdc-runtime-error-raise-terminating-execution

器件型号:IWR6843AOPEVM

大家好、

毫米波雷达根据 out_of_box 工程配置、调用 MMWave_init 函数时、直接退出、并显示以下错误( 发生错误时直接退出、根本不打印 system_printf):

xdc.runtime.Error.raise:正在终止执行  

uint8_t i=0;
    int32_t         errCode;
    MMWave_ErrorLevel   errorLevel;
    int16_t             mmWaveErrorCode;
    int16_t             subsysErrorCode;

    MMWave_InitCfg      initCfg;
    MMWave_OpenCfg      openCfg;
    MMWave_CtrlCfg      ctrlCfg;

    Task_Params     taskParams; //任务参数

    memset ((void*)&initCfg, 0 , sizeof(MMWave_InitCfg));
    memset ((void*)&initCfg, 0 , sizeof(MMWave_OpenCfg));
    memset ((void*)&ctrlCfg, 0 , sizeof(MMWave_CtrlCfg));

    initCfg.domain                  = MMWave_Domain_MSS;
    initCfg.socHandle               = MMWave_Global_Params.handle.socHandle;
    initCfg.eventFxn                = MMWave_eventFxnCallback;  //事件回调
    initCfg.linkCRCCfg.useCRCDriver = 1U;           //1开启CRC 0关闭CRC
    initCfg.linkCRCCfg.crcChannel   = CRC_Channel_CH1;      //CRC通道1
    initCfg.cfgMode                 = MMWave_ConfigurationMode_FULL;  //全部模式 也可以设置成最小全部模式
    initCfg.executionMode           = MMWave_ExecutionMode_ISOLATION;  //MSS和DSS不通讯 如果需要 则换个模式

    //以下全是回调
    /*
    initCfg.cooperativeModeCfg.cfgFxn   = MMWave_cfgFxnCallback;
    initCfg.cooperativeModeCfg.closeFxn = MMWave_closeFxnCallback;
    initCfg.cooperativeModeCfg.openFxn  = MMWave_openFxnCallback;
    initCfg.cooperativeModeCfg.startFxn = MMWave_startFxnCallback;
    initCfg.cooperativeModeCfg.stopFxn  = MMWave_stopFxnCallback;
    */

    /* Initialize and setup the MMWave Control module */
    MMWave_Global_Params.handle.MMWave_handle = MMWave_init (&initCfg, &errCode);
    if (MMWave_Global_Params.handle.MMWave_handle == NULL)
    {
        /* Error: Unable to initialize the MMWave control module */
        MMWave_decodeError (errCode, &errorLevel, &mmWaveErrorCode, &subsysErrorCode);
        System_printf ("Error: MMWave Control Initialization failed [Error Level: %d Error code: %d Subsystem: %d]\n",errorLevel,mmWaveErrorCode, subsysErrorCode);
        return;
    }
    System_printf ("Debug: MMWave Control Initialization was successful\n");

如果使用 memset 直接清除该结构、则其将输出"错误级别:2错误代码:-3101子系统:0"、但是如果该结构不为0、调试此步骤将直接报告错误。

正在使用的调试器为 XDS110、串行端口初始化、SOC 初始化等、所有这些都正常、没有错误。  

您能帮助检查这个问题吗? 谢谢。

此致、

切里