Other Parts Discussed in Thread: AWR1843
I'm trying to get some raw 1-D/2-D FFT radarcube data out along with clustering and tracking results using UART in the Medium Range Radar project for AWR1843. So, I did a little modification in the code (shared below), which compiles perfectly.
But when I try to download the images to 1843EVM by running target configuration, the script throws a runtime error after completion. I have adhered to data size and other limits in adding the TLV payload, so I am not able to identify the issue. It'd be great if you could have a look at added code (this is the only modification I've made in the whole project), or better, run this modification in MRR project and help me in figuring out the issue.
The code, console output and target configuration status are attached below.
Code: added after line 1000 in dss_main.c (before if (tlvIdx >= MMWDEMO_OUTPUT_MSG_MAX) statement)
if (SEND_RADARCUBE) //SEND_RADARCUBE = 1 { // Add objects descriptor descr.numDetetedObj = obj->numDetObj; descr.xyzQFormat = obj->xyzOutputQFormat; itemPayloadLen = sizeof(MmwDemo_output_message_dataObjDescr); totalHsmSize += itemPayloadLen; if (totalHsmSize > outputBufSize) { retVal = -1; goto Exit; } memcpy(ptrCurrBuffer, (void *) &descr, itemPayloadLen); //Add radarcube here itemPayloadLen = sizeof(cmplx16ReIm_t) * obj->numRangeBins * obj->numDopplerBins; // * numChirpTypes * obj->numRxAntennas * obj->numTxAntennas; totalHsmSize += itemPayloadLen; if (totalHsmSize > outputBufSize) { retVal = -1; goto Exit; } memcpy(&ptrCurrBuffer[sizeof(MmwDemo_output_message_dataObjDescr)], (void *) &obj->radarCube[0], itemPayloadLen); message.body.detObj.tlv[tlvIdx].length = itemPayloadLen + sizeof(MmwDemo_output_message_dataObjDescr); message.body.detObj.tlv[tlvIdx].type = MMWDEMO_OUTPUT_MSG_RADARCUBE; // #define MMWDEMO_OUTPUT_MSG_RADARCUBE 5 message.body.detObj.tlv[tlvIdx].address = (uint32_t) ptrCurrBuffer; tlvIdx++; // Incrementing pointer to HSM buffer ptrCurrBuffer += itemPayloadLen + sizeof(MmwDemo_output_message_dataObjDescr); totalPacketLen += sizeof(MmwDemo_output_message_tl) + itemPayloadLen + sizeof(MmwDemo_output_message_dataObjDescr); }
Console output:
[Cortex_R4_0] Debug: Launched the Initialization Task [C674X_0] Heap L1 : size 16384 (0x4000), free 6144 (0x1800) Heap L3 : size 1048576 (0x100000), free 0 (0x0) [Cortex_R4_0] Debug: Initialized the mmWave module [C674X_0] Heap L1 : size 16384 (0x4000), free 1000 (0x3e8) [Cortex_R4_0] Debug: Synchronized the mmWave module [C674X_0] Heap L3 : size 1048576 (0x100000), free 262144 (0x40000) Heap L2 : size 102400 (0x19000), free 21488 (0x53f0) Heap L2 : size 102400 (0x19000), free 14432 (0x3860) [Cortex_R4_0] Set LDO Bypass Debug: MMWave has been configured for MRR. Debug: Sensor will start momentarily. [C674X_0] {module#8}: "../dss_main.c", line 1137: error {id:0x10000, args:[0x81d814, 0x81d814]} xdc.runtime.Error.raise: terminating execution
target configuration status: