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.

IWR1443BOOST: Break at address "0xee68" with no debug information available, or outside of program code.

Part Number: IWR1443BOOST

我在对ti\Others\mmwave_industrial_toolbox_3_6_1\labs\lab0003-4k-fft 这一demo进行修改的添加的时候,先是将PONG操作删除后,添加了自己的内容可以正常运行,但是将PONG操作添加回来后,在运行BIOS_start();的时候,会进入 Task_SupportProxy_swap((Ptr)&prevTask->context,(Ptr)&Task_module->curTask->context);这个函数,然后就会出现“Break at address "0xee68" with no debug information available, or outside of program code.”

 这个错误,想问一下这个该怎么解决。

谢谢。

  • Break at address "0xee68" with no debug information available, or outside of program code.

    您是全速运行的时候出现问题的吗?

    这个提示看不出来问题,调试器只是告诉您目标停止在没有关联调试符号信息的地址。如果您只是连接到目标而不加载程序,或者如果加载的程序可执行文件没有调试符号,这个提示都是正常的。

  • 非常抱歉您说的有些问题我不是很理解。

    全速运行是指不加断点,直接运行到结束么?我是直接运行后发现有这个问题,然后再一条一条代码运行找到产生这个错误提示的代码的。

    您说的[连接到目标而不加载程序]是Task_creat的问题么

    这是我这部分的代码。

    还有就是您提及的调试符号是什么。

  • 我的意思是这个提示他不是一个报错,调试符号就是symbol。

    可能还是与添加了代码有关,具体添加了什么内容?试试看加大堆栈。

  • 我自己添加了一些对HWA输出的fft结果进行处理的代码后,是可以运行的,但添加下面的代码后就出现了问题

    添加的部分首先是HWAutil_configRangeFFT()函数内添加了PONG的部分

    /**********************************************************************************************************************************/
    /***********************/
    /* PONG DUMMY PARAMSET */
    /***********************/
    paramsetIdx++;
    hwaParamCfg[paramsetIdx].triggerMode = HWA_TRIG_MODE_DMA;
    hwaParamCfg[paramsetIdx].dmaTriggerSrc = dmaTriggerSourcePong; //in demo this will be second EDMA Src channel id
    hwaParamCfg[paramsetIdx].accelMode = HWA_ACCELMODE_NONE; //dummy
    errCode = HWA_configParamSet(handle, paramsetIdx, &hwaParamCfg[paramsetIdx], NULL);
    if (errCode != 0)
    {
    //System_printf("Error: HWA_configParamSet(%d) returned %d\n",errCode,paramsetIdx);
    //MmwDemo_debugAssert(0);
    return;
    }

    /***********************/
    /* PONG PROCESS PARAMSET */
    /***********************/
    paramsetIdx++;
    hwaParamCfg[paramsetIdx] = hwaParamCfg[pingParamSetIdx1];
    //hwaParamCfg[paramsetIdx].source.srcAddr = ADDR_TRANSLATE_CPU_TO_HWA(MMW_HWA_1D_OUT_PONG_M3_M1);
    hwaParamCfg[paramsetIdx].dest.dstAddr = ADDR_TRANSLATE_CPU_TO_HWA(MMW_HWA_1D_OUT_PONG_M1_M3); //hwaMemDestPongOffset;

    errCode = HWA_configParamSet(handle, paramsetIdx, &hwaParamCfg[paramsetIdx], NULL);
    if (errCode != 0)
    {
    //retCode = HWA_TEST_ERROR;
    System_printf("Error: HWA_configParamSet(%d) returned %d\n", errCode, paramsetIdx);
    return;
    }

    /***********************/
    /* PONG PROCESS PARAMSET Step 2*/
    /***********************/
    paramsetIdx++;
    hwaParamCfg[paramsetIdx] = hwaParamCfg[pingParamSetIdx2];
    hwaParamCfg[paramsetIdx].source.srcAddr = ADDR_TRANSLATE_CPU_TO_HWA(MMW_HWA_1D_OUT_PONG_M1_M3);
    hwaParamCfg[paramsetIdx].dest.dstAddr = ADDR_TRANSLATE_CPU_TO_HWA(MMW_HWA_1D_OUT_PONG_M3_M2); //hwaMemDestPongOffset;
    errCode = HWA_enableParamSetInterrupt(handle, paramsetIdx, &paramISRConfig);
    if (errCode != 0)
    {
    //System_printf("Error: HWA_enableParamSetInterrupt(PING DMA) returned %d\n",errCode);
    //MmwDemo_debugAssert(0);
    return;
    }
    /**********************************************************************************************************************************/
    /* enable the DMA hookup to this paramset so that data gets copied out */
    paramISRConfig.interruptTypeFlag = HWA_PARAMDONE_INTERRUPT_TYPE_DMA;
    paramISRConfig.dma.dstChannel = dmaDestChannelPing; //TODO sync this define EDMA channel to trigger to copy the data out
    //paramISRConfig.cpu.callbackArg = paramSetSem;//TODO check if NULL is required
    errCode = HWA_enableParamSetInterrupt(handle, paramsetIdx, &paramISRConfig);
    if (errCode != 0)
    {
    //System_printf("Error: HWA_enableParamSetInterrupt(PING DMA) returned %d\n",errCode);
    // MmwDemo_debugAssert (0);
    return;
    }

    然后在函数demo_config1D_EDMA()内加入了PONG的部分

        errorCode = EDMAutil_configHwaTranspose(handle,
                                                MMW_EDMA_1D_PONG_CH_ID,                                                                                                 //chId,
                                                MMW_EDMA_1D_PONG_SHADOW_LINK_CH_ID,                                                                                     //linkChId,
                                                MMW_EDMA_1D_PONG_CHAIN_CH_ID,                                                                                           //SR_DBT_xxx //chainChId,
                                                (uint32_t *)SOC_translateAddress((uint32_t)MMW_HWA_1D_OUT_PONG, SOC_TranslateAddr_Dir_TO_EDMA, NULL),                   //*pSrcAddress,
                                                (uint32_t *)SOC_translateAddress((uint32_t)(obj->radarCube + obj->numRxAntennas), SOC_TranslateAddr_Dir_TO_EDMA, NULL), //*pDestAddress,
                                                obj->numRxAntennas,                                                                                                     //numAnt,
                                                obj->numRangeBins,                                                                                                      //numRangeBins,
                                                obj->numChirpsPerFrame,                                                                                                 //numChirpsPerFrame,
                                                true,                                                                                                                   //isIntermediateChainingEnabled,
                                                true,                                                                                                                   //isFinalChainingEnabled,
                                                true,                                                                                                                   //isTransferCompletionEnabled
                                                demo_EDMA_transferCompletionCallbackFxn,                                                                                //transferCompletionCallbackFxn
                                                (uintptr_t)obj);
        HWA_getDMAconfig(obj->hwaHandle, MMW_HWA_DMA_TRIGGER_SOURCE_1D_PONG, &dmaConfig);

        errorCode = EDMAutil_configHwaOneHotSignature(handle,
                                                      MMW_EDMA_1D_PONG_CHAIN_CH_ID,                                                              //chId,
                                                      false,                                                                                     //isEventTriggered
                                                      (uint32_t *)SOC_translateAddress(dmaConfig.srcAddr, SOC_TranslateAddr_Dir_TO_EDMA, NULL),  //pSrcAddress
                                                      (uint32_t *)SOC_translateAddress(dmaConfig.destAddr, SOC_TranslateAddr_Dir_TO_EDMA, NULL), //pDestAddress
                                                      dmaConfig.aCnt,
                                                      dmaConfig.bCnt,
                                                      dmaConfig.cCnt,
                                                      MMW_EDMA_1D_PONG_ONE_HOT_SHADOW_LINK_CH_ID); //linkChId

        if (errorCode != EDMA_NO_ERROR)
        {
            goto exit;
        }
    最后在
    demo_dataPathTrigger1D()函数内加了PONG的部分
        errCode = HWA_setDMA2ACCManualTrig(obj->hwaHandle, MMW_HWA_DMA_TRIGGER_SOURCE_1D_PONG);
        if (errCode != 0)
        {
            //System_printf("Error: HWA_setDMA2ACCManualTrig(1) returned %d\n",errCode);
            //MmwDemo_debugAssert(0);
            demo_printf("Error: HWA_setDMA2ACCManualTrig(0) returned %d\n", errCode);
            return;
        }
    以上是我在代码里加上然后就无法继续DEBUG的部分
    我尝试将堆栈加大,但是好像没有改善
  • 你好,

    你除了修改c代码外,是否有修改过cmd文件?

  • 您好

    我没有修改过cmd文件,只是改了.c文件以及.h文件中定义的函数。

  • 你好,

    不好意点错了TI认为已经解决。

    对你的问题,你能否在原始的demo基础上重新做一下修改。提供一个可以简单复现问题的例程?

  • 好的 我尝试一下

  • 您好 这是我目前复现出来的程序demo_test.zip

  • 你好,

    你提供的复现问的程序,不是基于lab0003-4k-fft 而是level sensing demo的。

    请问在你提供的复现问题的测试,是在init_Task里的修改就可以导致Break at address "0xee68" 的问题了么?

  • 嗯是的 抱歉我之前说的有问题,这个是以level sensing demo为模板,将4k-fft的功能移植进去。

    嗯,我是在demo.c中修改了关于Pong的部分导致出现问题的

  • Hi Yifei

      我在CCS 11.0中 尝试运行了你提供的代码,代码正常运行,没有复现出上文的错误,

    使用的环境如图:

    在ROV的结果看,BIOS成功启动了,demo_mmWaveCtrlTask为Block状态  程序一直在运行Idle_task

  • 您好这是我的环境

    但我用IWR1443BOOST进行仿真的时候会出现这个报错

  • 取消断点进行调试,若出现错误,尝试Load Symbols