Part Number: DCA1000EVM
Other Parts Discussed in Thread: IWR6843ISK-ODS
Hi,
I try to capture the raw data from the DCA1000EVM by using the DCA1000EVM CLI application.
The precompiled version in mmwave_studio_02_01_01_00\mmWaveStudio\PostProc on Windows works fine for the Hardware I use. (IWR6843ISK-ODS)
I now want to use the Reference Code to capture the raw data by a Linux System. I use the Nvidia Xavier NX board with Ubuntu 18.04 installed.
If I compile and try to use the application I recieve the following output:
user@BJNX-1:~/Desktop/ReferenceCode/DCA1000/SourceCode$ make
Folder Release not exists
mkdir -p Release
g++ -g -std=c++11 -w -shared -o Release/libRF_API.so -fPIC -pthread RF_API/*.cpp Common/Validate_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 Common/Json_Utils/dist/json/. -I Common/. -I Common/Validate_Utils/. -I Common/Osal_Utils/. -L Release/. -lRF_API
CLI_Control/cli_control_main.cpp: In function ‘SINT32 ValidateJsonFileData(SINT8*, UINT16)’:
CLI_Control/cli_control_main.cpp:190:8: warning: ‘%s’ directive writing up to 254 bytes into a region of size 227 [-Wformat-overflow=]
SINT32 ValidateJsonFileData(SINT8 *configFile, UINT16 u16CmdCode)
^~~~~~~~~~~~~~~~~~~~
CLI_Control/cli_control_main.cpp:669:20: note: ‘sprintf’ output between 45 and 299 bytes into a destination of size 255
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gsStartRecConfigMode.s8FileBasePath,CLI_JSON_REC_INVALID_FILE_BASE_PATH_ERR);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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 Common/DCA1000_API/. -I Common/Json_Utils/dist/json/. -I Common/. -I Common/Validate_Utils/. -I Common/Osal_Utils/. -L Release/. -lRF_API
user@BJNX-1:~/Desktop/ReferenceCode/DCA1000/SourceCode$ cd Release/
user@BJNX-1:~/Desktop/ReferenceCode/DCA1000/SourceCode/Release$ sudo chmod +x DCA1000EVM_CLI_Control
user@BJNX-1:~/Desktop/ReferenceCode/DCA1000/SourceCode/Release$ sudo chmod +x DCA1000EVM_CLI_Record
user@BJNX-1:~/Desktop/ReferenceCode/DCA1000/SourceCode/Release$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$pwd
user@BJNX-1:~/Desktop/ReferenceCode/DCA1000/SourceCode/Release$ ./DCA1000EVM_CLI_Control fpga ../test_config.json
FPGA Configuration command : Success
user@BJNX-1:~/Desktop/ReferenceCode/DCA1000/SourceCode/Release$ ./DCA1000EVM_CLI_Control record ../test_config.json
Configure Record command : Success
user@BJNX-1:~/Desktop/ReferenceCode/DCA1000/SourceCode/Release$ ./DCA1000EVM_CLI_Control start_record ../test_config.json
# Option “-x” is deprecated and might be removed in a later version of gnome-terminal.
# Use “-- ” to terminate the options and put the command line to execute after it.
Start Record command : Success
user@BJNX-1:~/Desktop/ReferenceCode/DCA1000/SourceCode/Release$ ./DCA1000EVM_CLI_Control stop_record ../test_config.json
Stop Record command : Timeout Error! Couldnt read the record process status. [error -4068]
user@BJNX-1:~/Desktop/ReferenceCode/DCA1000/SourceCode/Release$ ./DCA1000EVM_CLI_Record start_record ../test_config.json
Start Record command : Success
Bus error (core dumped)
When I try to start a record with the Control application (and trigger the board from mmWave Studio) it creates an empty .bin and log file. A second terminal window opens for a fraction of a second.
The Control application does not report any errors.
If I try start_record with the Record application, it prints "Bus error (core dumped)"
I think the Control application does not show the error because it is displayed for fraction of a second in the Record terminal.
I followed the troubleshooting guide for this case and raised the packetDelay_us time. This didn´t change anything.
I tried to fix the warning by increasing the s8DebugMsg variable size in line 194 in cli_control_main.cpp. It fixed the warning but did not affect anything else.
This is the output if I try to debug with gdb:
(gdb) run start_record ../test_config.json
Starting program: /home/user/Desktop/ReferenceCode/DCA1000/SourceCode/Release/DCA1000EVM_CLI_Record start_record ../test_config.json
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fb7b541c0 (LWP 12807)]
[New Thread 0x7fb73531c0 (LWP 12808)]
[New Thread 0x7fac3161c0 (LWP 12809)]
[New Thread 0x7fabb151c0 (LWP 12810)]
[Switching to Thread 0x7fac3161c0 (LWP 12809)]
__pthread_cond_wait_common (abstime=0x0, mutex=0x7fb7f903ec <objUdpDataRecv+1444>, cond=0x7fb7f903bc <objUdpDataRecv+1396>) at pthread_cond_wait.c:397
397 pthread_cond_wait.c: No such file or directory.
Could someone help me figure out where the problem is?
Thanks in advance
Hans-Peter