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

AM2732: DDM模式下同时开启以太网协议栈和CLI_BYPASS,即上电后立即使用静态配置,发送sensorStart成功后系统死机

Part Number:AM2732

TI的Demo是通过mmwave demo visualizer下发配置并启动雷达前端,我这边在cli.c中使能了宏

#define CLI_BYPASS

同时在编译时使能了

mmwDemoEnet

程序运行时发现按照代码里的静态配置执行完后系统就卡死了,配置如下:

char* radarCmdString[40] =
{
    "sensorStop \n\r",
    "flushCfg \n\r",
    "dfeDataOutputMode 1 \n\r",
    "channelCfg 15 7 0 \n\r",
    "adcCfg 2 1 \n\r",
    "adcbufCfg -1 0 1 0 1 \n\r",
    "lowPower 0 0 \n\r",
    "dataPathClkCfg 1 1 \n\r",
    "profileCfg 0 77 267 7 99.14 0 0 40 1 192 5209 0 0 30 \n\r",
    "dataPathConfig 0 1 0 2 64 64 64 0 \n\r",
    "hsiClockConfig 9 0 \n\r",
    "hsiLaneConfig 15 1 0 2 0 4 0 5 0 3 0 0 \n\r",
    "dataFormatConfig 0 1 \n\r",
    "chirpCfg 0 3 0 0 0 0 0 7 \n\r",
    "frameCfg 0 3 64 0 192 400 1 0 \n\r",
    "guiMonitor -1 2 1 0 0 0 1 \n\r",
    "cfarCfg -1 1 3 16 0 0 1 24.0 0 7 0 1 \n\r",
    "cfarCfg -1 0 3 16 0 0 1 15.0 0 7 0 1 \n\r",
    "compressionCfg -1 1 0 0.4 16 \n\r",
    "intfMitigCfg -1 15 18 \n\r",
    "localMaxCfg -1 6 40 \n\r",
    "antennaCalibParams 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 \n\r",
    "measureRangeBiasAndRxChanPhase 0 1. 0.2 \n\r",
    "analogMonitor 0 0 \n\r",
    "aoaFovCfg -1 -90 90 -90 90 \n\r",
    "calibData 0 0 0 \n\r",
    "enetStreamCfg 1 192 168 1 203 \n\r",
    "sensorStart \n\r",
};

运行结果如下:
******************************************
AM273X MMW Demo 04.04.00.01
******************************************
Ignored: Sensor is already stopped
                                  Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
Remote IP Address is 192.168.1.203
                                  Done
Debug: Init Calibration Status = 0x1ffe
                                       Done

然后系统就卡死了,visualizer或以太网调试助手都看不到数据输出,通过Visualizer发送命令也收不到回复。

但是,相同的配置,在进入

MmwDemo_CLIInit(MMWDEMO_CLI_TASK_PRIORITY);

之前加入几秒钟的延迟

ClockP_sleep(10);

就一切工作正常了。

想请问同时开启CLI_BYPASS和以太网协议栈的情况下,如何才能使不加延迟也能正常工作。谢谢

Gary Lu:

您好,这可能是由于资源冲突或配置错误引起的。

首先,确保您在启用以太网协议栈和CLI_BYPASS之前正确配置了相关的资源和参数。检查资源冲突,例如内存、中断和外设的分配是否正确。

其次,建议您在启用以太网协议栈和CLI_BYPASS之前,逐步测试和调试系统。可以先尝试只启用其中一个功能,确保它们单独运行时没有问题,然后再尝试同时启用它们。

,

?? ?:

您好,我检查过相关配置参数、内存分配、中断和外设引脚等,都没有问题。

我单独测试两个功能都是正常的,只是同时开启bypass和以太网就会出现这个问题。

我比较疑惑的是在以太网初始化和CLI_Task之间加上5s以上的延迟就会解决该问题,这是为何呢?

,

Gary Lu:

您好,

这种情况可能是由于初始化和配置以太网模块需要一定的时间,而在初始化完成之前,CLI_Task可能已经开始执行,并且可能会与以太网模块发生冲突或竞争资源。

通过在初始化和CLI_Task之间添加延迟,可以确保以太网模块完全初始化和配置完成,避免了冲突竞争资源的问题

,

?? ?:

您好,按照您说的,我在进入CLI_Task之前加入了信号量,该信号量是在以太网初始化分配IP后释放的,也还是不行,MSS端会挂掉。

我这边测试看下来,系统初始化过程中,一定要延迟5s或以上再执行CLI_Task,整个系统才能正常运行,以太网模块初始化和配置需要这么久吗

,

Gary Lu:

您好,

以太网模块初始化和配置确实可能需要一定的时间,特别是在系统启动过程中。这段延迟时间可以用来确保以太网模块正常完成初始化并获取正确的IP地址。如果你在进入CLI_Task之前加入了信号量,但仍然出现MSS端挂掉的问题,可能是由于初始化过程还没有完成或配置不正确导致的。

个人建议你尝试增加延迟时间,确保以太网模块初始化和配置完成后再执行CLI_Task。您可以通过调整延迟时间来确定系统正常运行所需的最小等待时间。

,

?? ?:

但是我这边测试下来如果不开启CLI_BYPASS,使用Visualizer上位机下发配置文件就没有这个问题,我这边只是开启CLI_BYPASS需要加入延迟时间,能麻烦您那边也帮忙验证一下吗,谢谢

,

Gary Lu:

您好,

根据您的描述,如果不开启CLI_BYPASS,使用Visualizer上位机下发配置文件没有问题,但是开启CLI_BYPASS需要加入延迟时间。

在这种情况下,可能是由于CLI_BYPASS模式下的通信速度较快,导致设备无法及时处理接收到的配置文件。通过增加延迟时间,可以确保设备有足够的时间处理接收到的配置文件。

赞(0)
未经允许不得转载:TI中文支持网 » AM2732: DDM模式下同时开启以太网协议栈和CLI_BYPASS,即上电后立即使用静态配置,发送sensorStart成功后系统死机
分享到: 更多 (0)