主题中讨论的其他器件: IWR6843ISK-ODS
您好!
我尝试使用 DCA1000EVM CLI 应用程序从 DCA1000EVM 捕获原始数据。
Windows 上的 mmWave_studio_02_01_01_00\mmWaveStudio\PostProc 中的预编译版本适用于我使用的硬件。 (IWR6843ISK-ODS)
现在、我想使用参考代码通过 Linux 系统捕获原始数据。 我使用安装了 Ubuntu 18.04的 Nvidia Xavier NX 板。
如果我编译并尝试使用应用程序、我会收到以下输出:
用户@BJNX-1:~/Desktop/ReferenceCode/DCA1000/SourceCode make
文件夹发布不存在
mkdir -p 版本
g++-g -std=c++11 -w -shared -o Release/libRF_API.so -FPIC -pthread RF_API/*。cpp Common/Valid_Utils/validate_params.cpp Common/OSAL_Utils/osal_linux.cpp
g++-g -static-libgcc -static-libstdc++-std=c++11 -Wall -o Release/DCA1000EVM_CLI_Control CLI_Control/cli_control_main.cpp Common/JSON_Utils/dist/jsoncpp.cpp Common/Validate_Utils/validate_params.cpp Common/OSAL_Utils/osal_linux.cpp -I Common/DCA1000_API/。 -i 公共/JSON_Utils/dist/json/。 -I 通用/. -i Common/Valid_Utils/。 -i 公共/OSAL_Utils/。 -L 版本/. LRF_API
cli_Control/CLI_control_main.cpp:在函数‘SInt32 ValidateJsonFileData (SINT8*、UINT16)’中:
cli_Control/CLI_control_main.cpp:190:8:警告:‘%s’指令将高达254字节的数据写入大小为227的区域[-Wformat-overflow=]
SINT32 ValidateJsonFileData (SINT8 * configFile、UINT16 u16CmdCode)
^~~~~~~~~~~~~~~~~~~~μ A
cli_Control/CLI_control_main.cpp:669:20:注:‘Sprintf’将45到299个字节之间的输出输出到大小为255的目标位置
~~~~~~~μ A ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~μ A
gsStartRecConfigMode.s8FileBasePath、CLI_JSON_REC_INVALID_FILE_BASE_PATH_ERR);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~μ A
g++-g -static-libgcc -static-libstdc++-std=c++11 -Wall -o Release/DCA1000EVM_CLI_Record CLI_Record/cli_record_main.cpp Common/JSON_Utils/dist/jsoncpp.cpp Common/Validate_Utils/validate_params.cpp Common/OSAL_Utils/osal_linux.cpp -pthread -i_DCA1000/ Common_Utils/。 -i 公共/JSON_Utils/dist/json/。 -I 通用/. -i Common/Valid_Utils/。 -i 公共/OSAL_Utils/。 -L 版本/. LRF_API
用户@BJNX-1:~/Desktop/ReferenceCode/DCA1000/SourceCode CD 发行版/
用户@BJNX-1:~/Desktop/ReferenceCode/DCA1000/SourceCode/Release sudo chmod +x DCA1000EVM_CLI_Control
用户@BJNX-1:~/Desktop/ReferenceCode/DCA1000/SourceCode/Release sudo chmod +x DCA1000EVM_CLI_Record
用户@BJNX-1:~/Desktop/ReferenceCode/DCA1000/SourceCode/Release 导出 LD_library_path=$LD_library_path:$pwd
用户@BJNX-1:~/Desktop/ReferenceCode/DCA1000/SourceCode/Release ./DCA1000EVM_CLI_Control FPGA ./test_config.json
FPGA 配置命令:成功
用户@BJNX-1:~/Desktop/ReferenceCode/DCA1000/SourceCode/Release ./DCA1000EVM_CLI_Control 记录./test_config.json
配置记录命令:成功
用户@BJNX-1:~/Desktop/ReferenceCode/DCA1000/SourceCode/Release ./DCA1000EVM_CLI_Control START_RECORD ./test_config.json
#选项“-x”已被弃用,可能会在较新版本的 gnome-terminal 中删除。
#使用“--”终止选项,然后将命令行置于该选项之后执行。
Start Record (开始记录)命令:Success (成功)
用户@BJNX-1:~/Desktop/ReferenceCode/DCA1000/SourceCode/Release ./DCA1000EVM_CLI_Control stop_record ./test_config.json
停止记录命令:超时错误! 无法读取记录进程状态。 [错误-4068]
用户@BJNX-1:~/Desktop/ReferenceCode/DCA1000/SourceCode/Release ./DCA1000EVM_CLI_Record start_record ./test_config.json
Start Record (开始记录)命令:Success (成功)
总线错误(转储内核)
当我尝试使用控制应用程序启动记录(并从 mmWave Studio 触发电路板)时、它会创建一个空的.bin 和日志文件。 第二个终端窗口会打开一小部分。
控制应用程序不报告任何错误。
如果我尝试在 Record 应用程序中使用 start_record、它将打印"总线错误(转储内核)"
我认为控制应用程序没有显示该错误、因为它在记录终端中显示了一秒钟的时间。
我遵循了此案例的故障排除指南并提高了电池组 Delay_us 时间。 这n´t 什么都没有改变。
我尝试通过增加 CLI_CONTRAL_MAIN.cpp 中第194行中的 s8DebugMsg 变量大小来修复警告。 它修复了警告、但不影响任何其他内容。
如果我尝试使用 gdb 进行调试、则这是输出:
(gdb)运行 start_record ./test_config.json
正在启动程序:/home/user/Desktop/ReferenceCode/DCA1000/SourceCode/Release/DCA1000EVM_CLI_Record start_record ./test_config.json
[使用 libthread_db 启用的线程调试]
使用主机 libthread_db 库"/lib/aarch64-linux-gnu/libthread_db.so.1。
[新线程0x7fb7b541c0 (LWP 12807)]
[新线程0x7fb73531c0 (LWP 12808)]
[新线程0x7fac3161c0 (LWP 12809)]
[新线程0x7晶圆厂151c0 (LWP 12810)]
[切换到线程0x7fac3161c0 (LWP 12809)]
__pthread_cond_wait_common (abstime=0x0,mutex=0x7fb7f903ec 、COND = 0x7fb7f903bc )、位于 pthread_COND_WAIT.c:397
397 pthread_cond_wait.c:无此类文件或目录。
有人能帮我找出问题所在吗?
提前感谢
Hans-Peter