Part Number:IWR1843BOOSTOther Parts Discussed in Thread:AWR1843, IWR1843
工程师你好,
我将AWR1843的pa_18xx_dss、pa_18xx_dss代码运行在IWR1843平台,发现ADCBUF有数据在更新。
但是DSP出现这样的错误,
[C674X_0] {module#8}: "../dss_main.c", line 252: error {id:0x10000, args:[0x816904, 0x816904]}
xdc.runtime.Error.raise: terminating execution
错误代码:
if (gMrrDSSMCB.frameStartIntToken == 1){gMrrDSSMCB.frameStartIntToken = 0;dataPathObj = &gMrrDSSMCB.dataPathObj[0];/* Increment event stats */gMrrDSSMCB.stats.frameStartEvt++;/* Check if the previous frame has been completely processed. */MmwDemo_dssAssert(dataPathObj->chirpCount != 0);}
请问这是什么原因
Nancy Wang:
请问是如何调试的?两个core全速跑的情况下吗?
,
JESU LEE:
首先运行的DSS,然后运行的MSS,之后在串口助手输入命令advFrameCfg sensorStart,
我不懂什么是全速调试
,
JESU LEE:
我觉得您应该说的是这个
,
Nancy Wang:
Nancy Wang 说:两个core全速跑的情况下吗
4. Execute the Lab
mmwave_automotive_toolbox_3_4_0\labs\lab0008_automated_parking\docs\APdemo_usersguide.pdf
按照user guide中测试有问题吗?
,
JESU LEE:
我按照group执行了一遍,然后串口输入以下命令,但是没有串口返回数据
****************************************** xWR18xx MMW Demo 03.05.00.04 ****************************************** mmwDemo:/>PaTIDesign:/>advFrameCfgDone PaTIDesign:/>PaTIDesign:/>sensorStartDone PaTIDesign:/>PaTIDesign:/>
,
JESU LEE:
现象就是程序一直在以下两个函数内交替运行
static void MRR_DSS_frameStartIntCallback(uintptr_t arg) {gMrrDSSMCB.frameStartIntToken = 1;gMrrDSSMCB.stats.frameStartIntCounter++;return; } static void MRR_DSS_chirpIntCallback(uintptr_t arg) {gMrrDSSMCB.chirpProcToken = 1;gMrrDSSMCB.stats.chirpIntCounter++;return; }但是不能进入数据处理的任务MmwDemo_interFrameProcessing和MmwDemo_processChirp
,
Nancy Wang:
JESU LEE 说:
我按照group执行了一遍,然后串口输入以下命令,但是没有串口返回数据
****************************************** xWR18xx MMW Demo 03.05.00.04 ****************************************** mmwDemo:/>PaTIDesign:/>advFrameCfgDone PaTIDesign:/>PaTIDesign:/>sensorStartDone PaTIDesign:/>PaTIDesign:/>
这边是如何进行测试的,我在GUI中测试的是成功的。
,
JESU LEE:
Nancy Wang 说:这边是如何进行测试的,我在GUI中测试的是成功的。
1.连接两个core
2依此加载DSS、MSS的程序.
3.点击group ,点击Resume
4.console打印调试信息,针对out of DDR heap 问题,我将#define SUBFRAME_USRR_LOOP_COUNT 从64改成4,不知道什么原因
[Cortex_R4_0] Debug: Launched the Initialization Task [C674X_0] out of DDR heap memory! processCreate: (radarProcessInstance_t *)0x806a78 [Cortex_R4_0] Debug: Initialized the mmWave module [C674X_0] processCreate: (RADARDEMO_rangeProc_handle *)0xc00ccaf8 [Cortex_R4_0] Debug: Synchronized the mmWave module [C674X_0] processCreate: (RADARDEMO_dopplerProc_handle *)0x806b78 [Cortex_R4_0] Debug: CLI is operational [C674X_0] processCreate: (RADARDEMO_detectionCFAR_handle *)0x806e60 processCreate: (RADARDEMO_aoAEstBF_handle *)0x807e5c processCreate: (RADARDEMO_clusteringDBscanInstance *)0x80df00 processCreate: (radarProcessBenchmarkObj *)0x80ff8c processCreate: heatmap (float *)0x0 radar process create error! Exit!DDR Heap : size 786432 (0xc0000), used 851968 (0xd0000) LL2 Heap : size 61440 (0xf000), used 58312 (0xe3c8) LL2 Scratch : size 8192 (0x2000), used 6656 (0x1a00) LL1 Scratch : size 16384 (0x4000), used 16384 (0x4000) HSRAM Heap : size 0 (0x0), used 0 (0x0)5.开启串口助手,COM3(命令串口),COM4(数据串口)
6.可以看到console控制台有返回信息
Debug: MMWave has been configured for MRR.Debug: Sensor will start momentarily.
7.COM4(数据串口)没返回数据信息
,
JESU LEE:
GUI窗口发出命令是这样的,但是貌似也没有数据返回
,
JESU LEE:
当#define SUBFRAME_USRR_LOOP_COUNT (16U)会出现错误
xdc.runtime.Main: "../mss_main.c", line 194: assertion failurexdc.runtime.Error.raise: terminating execution
能否将您运行在IWR1843的代码发一下
,
Nancy Wang:
数据口Tx上能测到数据输出吗?返回done应该是成功了。
我不太清楚您说的数据返回是有参考过哪个文档吗?
GUI运行之后是正常能跑起来吧?
,
JESU LEE:
.屏蔽了MSS里的监听器配置,程序就会有数据输出,但是如果没有屏蔽会出现以下错误
///* Register Chirp Available Listener */ //memset ((void*)&listenerCfg, 0, sizeof(SOC_SysIntListenerCfg)); //listenerCfg.systemInterrupt= SOC_XWR18XX_MSS_CHIRP_AVAIL_IRQ; //listenerCfg.listenerFxn= MRR_MSS_chirpIntCallback; //listenerCfg.arg= 0; //gMrrMSSMCB.chirpIntHandle = SOC_registerSysIntListener (gMrrMSSMCB.socHandle, &listenerCfg, &errCode); //if (gMrrMSSMCB.chirpIntHandle == NULL) //{ //System_printf ("Error: Unable to register the Chirp Available Listener [Error code %d]\n", errCode); //return; //} // ///* Register Frame Start Listener */ //memset ((void*)&listenerCfg, 0, sizeof(SOC_SysIntListenerCfg)); //listenerCfg.systemInterrupt= SOC_XWR18XX_MSS_FRAME_START_INT; //listenerCfg.listenerFxn= MRR_MSS_frameStartIntCallback; //listenerCfg.arg= 0; //gMrrMSSMCB.frameStartIntHandle = SOC_registerSysIntListener (gMrrMSSMCB.socHandle, &listenerCfg, &errCode); // //if (gMrrMSSMCB.frameStartIntHandle == NULL) //{ //System_printf("Error: Unable to register the Frame start Listener [Error code %d]\n", errCode); //return ; //}xdc.runtime.Main: "../mss_main.c", line 194: assertion failurexdc.runtime.Error.raise: terminating execution
错误来源:
,
Nancy Wang:
好的,感谢分享!