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.

IWRL6432BOOST: Interrupt occurring while accessing rangeProfile array

Part Number: IWRL6432BOOST

Hi,

I was trying to access the range profile values like shown below.

numDetectedPoints = 0;
memset((void *)&outParmsCfar, 0, sizeof(DPU_CFARProcHWA_OutParams));
outParmsCfar.rangeProfile = gMmwMssMCB.rangeProfile;
outParmsCfar.detObjOut = gMmwMssMCB.cfarDetObjOut;
outParmsCfar.detObjIndOut = gMmwMssMCB.dpcObjIndOut;
outParmsCfar.detObjOutMaxSize = MAX_NUM_DETECTIONS;
outParmsCfar.detRngDopList = gMmwMssMCB.detRngDopList;
printf("LINE = %d Before CFAR\n",__LINE__);

retVal = DPU_CFARProcHWA_process(gMmwMssMCB.cfarProcDpuHandle,
&gMmwMssMCB.detMatrix,
&gMmwMssMCB.cfarRunTimeInputParams,
&outParmsCfar);
double data[34];
float output[2];

for(int i = 0; i<34; i++)
data[i]=(double)outParmsCfar.rangeProfile[i];

But an ISR is occurring while entering the for loop. Can anyone give an idea about how I can access the values in outParmsCfar.rangeProfile or gMmwMssMCB.rangeProfile.


Regards,
Sreekesh Giri
  • Hi Sreekesh,

    Have you tried placing your for loop elsewhere in that section of the code? Can you provide a little more background for what you are trying to do?

    Also are you running in CCS Debug? Have you tried stepping through the code at all?

    Looking forward to your response!

    Regards,

    Tim

  • Hey TIm

    I tried to memcpy the contents in outParmsCfar.rangeProfile still the same situation is happening the program is waiting in while loop as shown below while I paused the execution,

    My need is just to access the values in outParmsCfar.rangeProfile and convert it from uint32_t to float and use this value for a classification function.

    You can see the debug window also they are showing some ISR handlers right. When I checked this outParmsCfar.rangeProfile it is in L3 RAM and why it is not able to access the values inside it for a local variable. ???

    Regards,

    Sreekesh Giri

  • Hi Tim,
    My issue got resolved.

    volatile uint32_t gDebugTargetCode = 0;

    by changing  the above variable to one like shown below.

    volatile uint32_t gDebugTargetCode = 1;

    in mmwave_demo. There is a description of the variable as 

    /* In order to debug target code (set brake points, step over,...) set this variable below to 1 in CCS

    * expression window. It will prevent ISR mmwDemoFrameStartISR from forcing the code to stop */.

    Regards,

    Tim.