TI中文支持网
TI专业的中文技术问题搜集分享网站

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.”

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

谢谢。

Nancy Wang:

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

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

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

,

Mu Yifei:

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

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

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

这是我这部分的代码。

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

,

Nancy Wang:

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

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

,

Mu Yifei:

我自己添加了一些对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的部分
我尝试将堆栈加大,但是好像没有改善

,

Chris Meng:

你好,

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

,

Mu Yifei:

您好

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

,

Chris Meng:

你好,

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

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

,

Mu Yifei:

好的 我尝试一下

,

Mu Yifei:

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

,

Chris Meng:

你好,

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

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

,

Mu Yifei:

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

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

,

Ken Zhang:

Hi Yifei

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

使用的环境如图:

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

,

Mu Yifei:

您好这是我的环境

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

,

Ken Zhang:

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

赞(0)
未经允许不得转载:TI中文支持网 » IWR1443BOOST: Break at address "0xee68" with no debug information available, or outside of program code.
分享到: 更多 (0)