This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

IWR1642BOOST: Quickstart demo firmware works, with compiled code I get packets from DSS, but no data.

Part Number: IWR1642BOOST
Other Parts Discussed in Thread: IWR1642, SYSBIOS

I have run the demo firmware in the IWR1642 from the quickstart directory and it is working fine.  Now I compile the code from the toolbox and it looks like the DSS app is not working.  I put messages in the MSS app to log the data from DSS.  I get incrementing packet number, but no points in the point cloud.  The debug statements It looks like this:

[C674X_0] Debug: Logging UART Instance @00815e50 has been opened successfully
Debug: DSS Mailbox Handle @0080d8e8
Debug: MMWDemoDSS create event handle succeeded
Debug: MMWDemoDSS mmWave Control Initialization succeeded
[Cortex_R4_0] **********************************************
Debug: Launching the Millimeter Wave Demo
**********************************************
float test:5.5000
Debug: MMWDemoMSS Launched the Initialization Task
Debug: System Heap (TCM): Size: 65536, Used = 2832, Free = 62704 bytes
Debug: MMWDemoMSS mmWave Control Initialization was successful
Debug: CLI is operational
[C674X_0] Debug: MMWDemoDSS ADCBUF Instance(0) @00815e38 has been opened successfully
Debug: MMWDemoDSS Data Path init succeeded
Debug: MMWDemoDSS initTask exit
[Cortex_R4_0] Debug: Heap before creating a tracker
Debug: System Heap (TCM): Size: 65536, Used = 27864, Free = 37672 bytes
Debug: (GtrackModuleInstance *)0x8008a00
Debug: System Heap (TCM): Size: 65536, Used = 50344, Free = 15192 bytes
Debug: MMWDemoMSS Received CLI sensorStart Event
Debug: System Heap (TCM): Size: 65536, Used = 50344, Free = 15192 bytes
Debug: MMWDemoMSS mmWave config succeeded
[C674X_0] processCreate: (radarProcessInstance_t *)0x801dc0
processCreate: (RADARDEMO_rangeProc_handle *)0x801e2c
processCreate: (RADARDEMO_detectionCFAR_handle *)0x802080
processCreate: (RADARDEMO_aoaEstCaponBF_handle *)0x802c90
processCreate: (radarProcessBenchmarkObj *)0x8042e8
processCreate: heatmap (float *)0x20089000
DDR Heap : size 655360 (0xa0000), used 599948 (0x9278c)
LL2 Heap : size 45056 (0xb000), used 9764 (0x2624)
LL2 Scratch : size 4096 (0x1000), used 2048 (0x800)
LL1 Scratch : size 16384 (0x4000), used 16384 (0x4000)
HSRAM Heap : size 8192 (0x2000), used 0 (0x0)
[Cortex_R4_0] ==>MMWDemo_DSS2MSS_DETOBJ_READY:0:0...==>SENDING PACKET HEADER..
==>MMWDemo_DSS2MSS_DETOBJ_READY:1:0...==>SENDING PACKET HEADER..
==>MMWDemo_DSS2MSS_DETOBJ_READY:2:0...==>SENDING PACKET HEADER..
==>MMWDemo_DSS2MSS_DETOBJ_READY:3:0...==>SENDING PACKET HEADER..
==>MMWDemo_DSS2MSS_DETOBJ_READY:4:0...==>SENDING PACKET HEADER..
==>MMWDemo_DSS2MSS_DETOBJ_READY:5:0...==>SENDING PACKET HEADER..
==>MMWDemo_DSS2MSS_DETOBJ_READY:6:0...==>SENDING PACKET HEADER..

Why is DSS not working?  I am using the same configuration in the quickstart firmware.  I have not modified DSS at all.  Any suggestions on how to proceed?

  • Hi Greg,

    I would like to start debugging by doing a simple sanity check.  I will ask you to do the following:

    1. Determine the ES version of the board.  On the device, (black square), it will say 502 if it is ES1 and 502A if it is ES2.
    2. Load the debug firmware. This is found in the SDK. Use SDK 1.2.0.5 if you have ES1, and SDK 2.0.0.4 if you have ES2.
    3. Try to compile and run the OOB demo.  We want to determine if the bug is limited to the people counting demo.
    4. If all this works, try to run the People Counting demo again.

    Regards,

    Justin

  • HI Justin,

    1. The board is an ES2.

    2. Here is the TI directory.  The sdk version is 2_00_00_04

    3. I assume you mean DEMO0005-mmwave-sdk-16xx.  I am trying to compile and it is taking a huge amount of time.  it is stuck here:

    **** Build of configuration Debug for project mmw_mss_16xx ****

    "C:\\ti\\ccsv8\\utils\\bin\\gmake" -k -j 4 all -O

    rm -f C:/Users/ZanInstall/Documents/zan/Greg_code/mmwave oob/mmw_mss_16xx/xwr16xx_mmw_mss.bin
    makefile:195: recipe for target 'pre-build' failed
    process_begin: CreateProcess(NULL, rm -f C:/Users/ZanInstall/Documents/zan/Greg_code/mmwave oob/mmw_mss_16xx/xwr16xx_mmw_mss.bin, ...) failed.

    gmake[1]: [pre-build] Error 2 (ignored)

    Building file: "../mss_mmw.cfg"
    Invoking: XDCtools
    "C:/ti/xdctools_3_50_05_12_core/xs" --xdcpath="C:/ti/bios_6_53_02_00/packages;" xdc.tools.configuro -o configPkg -t ti.targets.arm.elf.R4F -p ti.platforms.cortexR:IWR16XX:false:200 -r release -c "C:/ti/ti-cgt-arm_16.9.6.LTS" --compileOptions "--enum_type=int " "../mss_mmw.cfg"
    making package.mak (because of package.bld) ...
    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
    configuring mss_mmw.xer4f from package/cfg/mss_mmw_per4f.cfg ...
    generating custom ti.sysbios library makefile ...
    Starting build of library sources ...
    making C:/Users/ZANINS~1/DOCUME~1/zan/GREG_C~1/MMWAVE~1/mmw_mss_16xx/src/sysbios/sysbios.aer4f ...
    gmake[1]: Entering directory `C:/Users/ZANINS~1/DOCUME~1/zan/GREG_C~1/MMWAVE~1/mmw_mss_16xx/src/sysbios'
    gmake[1]: Nothing to be done for `all'.
    gmake[1]: Leaving directory `C:/Users/ZANINS~1/DOCUME~1/zan/GREG_C~1/MMWAVE~1/mmw_mss_16xx/src/sysbios'
    Build of libraries done.
    cler4f package/cfg/mss_mmw_per4f.c ...
    Finished building: "../mss_mmw.cfg"

    Building file: "../cli.c"
    Invoking: ARM Compiler
    "C:/ti/ti-cgt-arm_16.9.6.LTS/bin/armcl" -mv7R4 --code_state=16 --float_support=VFPv3D16 -me -O3 --include_path="C:/Users/ZanInstall/Documents/zan/Greg_code/mmwave oob/mmw_mss_16xx" --include_path="C:/ti/mmwave_sdk_02_00_00_04/packages" --include_path="C:/ti/ti-cgt-arm_16.9.6.LTS/include" --define=SOC_XWR16XX --define=SUBSYS_MSS --define=DOWNLOAD_FROM_CCS --define=DebugP_ASSERT_ENABLED --define=_LITTLE_ENDIAN --define=MMWAVE_L3RAM_SIZE=0xC0000 -g --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --enum_type=int --abi=eabi --obj_extension=.oer4f --preproc_with_compile --preproc_dependency="cli.d_raw" --cmd_file="configPkg/compiler.opt" "../cli.c"
    Finished building: "../cli.c"

    Building file: "../mss_main.c"
    Invoking: ARM Compiler
    "C:/ti/ti-cgt-arm_16.9.6.LTS/bin/armcl" -mv7R4 --code_state=16 --float_support=VFPv3D16 -me -O3 --include_path="C:/Users/ZanInstall/Documents/zan/Greg_code/mmwave oob/mmw_mss_16xx" --include_path="C:/ti/mmwave_sdk_02_00_00_04/packages" --include_path="C:/ti/ti-cgt-arm_16.9.6.LTS/include" --define=SOC_XWR16XX --define=SUBSYS_MSS --define=DOWNLOAD_FROM_CCS --define=DebugP_ASSERT_ENABLED --define=_LITTLE_ENDIAN --define=MMWAVE_L3RAM_SIZE=0xC0000 -g --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --enum_type=int --abi=eabi --obj_extension=.oer4f --preproc_with_compile --preproc_dependency="mss_main.d_raw" --cmd_file="configPkg/compiler.opt" "../mss_main.c"
    Finished building: "../mss_main.c"

    Building target: "xwr16xx_mmw_mss.xer4f"
    Invoking: ARM Linker
    "C:/ti/ti-cgt-arm_16.9.6.LTS/bin/armcl" -mv7R4 --code_state=16 --float_support=VFPv3D16 -me -O3 --define=SOC_XWR16XX --define=SUBSYS_MSS --define=DOWNLOAD_FROM_CCS --define=DebugP_ASSERT_ENABLED --define=_LITTLE_ENDIAN --define=MMWAVE_L3RAM_SIZE=0xC0000 -g --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --enum_type=int --abi=eabi --obj_extension=.oer4f -z -m"xwr16xx_mmw_mss.map" --heap_size=0x800 --stack_size=0x800 -i"C:/ti/ti-cgt-arm_16.9.6.LTS/lib" -i"C:/ti/mmwave_sdk_02_00_00_04/packages/ti/control/mmwave/lib" -i"C:/ti/mmwave_sdk_02_00_00_04/packages/ti/control/mmwavelink/lib" -i"C:/ti/mmwave_sdk_02_00_00_04/packages/ti/drivers/crc/lib" -i"C:/ti/mmwave_sdk_02_00_00_04/packages/ti/drivers/dma/lib" -i"C:/ti/mmwave_sdk_02_00_00_04/packages/ti/drivers/esm/lib" -i"C:/ti/mmwave_sdk_02_00_00_04/packages/ti/drivers/gpio/lib" -i"C:/ti/mmwave_sdk_02_00_00_04/packages/ti/drivers/mailbox/lib" -i"C:/ti/mmwave_sdk_02_00_00_04/packages/ti/drivers/osal/lib" -i"C:/ti/mmwave_sdk_02_00_00_04/packages/ti/drivers/pinmux/lib" -i"C:/ti/mmwave_sdk_02_00_00_04/packages/ti/drivers/soc/lib" -i"C:/ti/mmwave_sdk_02_00_00_04/packages/ti/drivers/uart/lib" -i"C:/ti/mmwave_sdk_02_00_00_04/packages/ti/utils/cli/lib" -i"C:/ti/ti-cgt-arm_16.9.6.LTS/include" --reread_libs --disable_auto_rts --define=MMWAVE_L3RAM_SIZE=0xC0000 --diag_warning=225 --diag_wrap=off --display_error_number --warn_sections --xml_link_info="xwr16xx_mmw_mss_linkInfo.xml" --rom_model --unused_section_elimination=on -o "xwr16xx_mmw_mss.xer4f" "./cli.oer4f" "./mss_main.oer4f" "../src/sysbios/BIOS.obj" "../src/sysbios/arm_IntrinsicsSupport_asm.obj" "../src/sysbios/arm_TaskSupport_asm.obj" "../src/sysbios/exc_Exception_asm.obj" "../src/sysbios/tms570_Core_asm.obj" "../src/sysbios/vim_Hwi_asm.obj" "../src/sysbios/vim_Hwi_asm_switch.obj" "../mss_mmw_linker.cmd" "../r4f_linker.cmd" -l"configPkg/linker.cmd" -llibosal_xwr16xx.aer4f -llibesm_xwr16xx.aer4f -llibgpio_xwr16xx.aer4f -llibsoc_xwr16xx.aer4f -llibpinmux_xwr16xx.aer4f -llibcrc_xwr16xx.aer4f -llibdma_xwr16xx.aer4f -llibuart_xwr16xx.aer4f -llibmailbox_xwr16xx.aer4f -llibmmwavelink_xwr16xx.aer4f -llibmmwave_xwr16xx.aer4f -llibcli_xwr16xx.aer4f -lrtsv7R4_T_le_v3D16_eabi.lib -llibc.a
    <Linking>
    Finished building target: "xwr16xx_mmw_mss.xer4f"

    C:/ti/mmwave_sdk_02_00_00_04/packages/scripts/ImageCreator/xwr16xx/out2rprc/out2rprc.exe xwr16xx_mmw_mss.xer4f xwr16xx_mmw_mss.bin
    Parsing the input object file, xwr16xx_mmw_mss.xer4f.
    Appending zeros 0
    Appending zeros 256
    File conversion complete!
    C:/ti/mmwave_sdk_02_00_00_04/packages/scripts/ImageCreator/xwr16xx/multicore_image_generator/MulticoreImageGen.exe LE 37 0x00000006 xwr16xx_mmw.bin 0x35510000 xwr16xx_mmw_mss.bin 0xb5510000 C:/ti/mmwave_sdk_02_00_00_04/firmware/radarss/xwr16xx_radarss_rprc.bin 0xd5510000 C:/Users/ZanInstall/Documents/zan/Greg_code/mmwave oob/mmw_dss_16xx/Debug/xwr16xx_mmw_dss.bin

  • Hi Greg,

    The debug binary, .xer4f has compiled, but the image creator is stuck creating a binary file.  Please check to see if you have the DSS binary, C:/Users/ZanInstall/Documents/zan/Greg_code/mmwave oob/mmw_dss_16xx/Debug/xwr16xx_mmw_dss.bin, which is required for this step.  The Out of Box demo can be compiled without Code Composer studio, see section 4.5 in the SDK user's guide, which can be found at: <SDK_INSTALL_DIR>\docs.

    Please try to run the Out of Box demo in Debug mode to see if you experience the same error you experienced with the People Counting demo.  If the error does not appear in the OOB, take these steps:

    Please run the device in debug mode and put a break point at line 277 in task_mbox.c, in the MSS project. If the demo hits this break point, then your computer is not receiving data on the UART DATA port. If this line is not hit, put a breakpoint at line 203 in the same file, task_mbox.c. The demo will hit this breakpoint if the DSS is generating a point cloud.

    If this fails, we will need to check if the DSS is functioning. A breakpoint at line 1206 will get hit if the device is processing each chirp, and a breakpoint at line 1230 will get hit if the device is processing the frames. After the break point at line 1230, the outputDataToArm struct should have point cloud information.

    Please take these debug steps and let me know what fails.  You probably will not hit line 277 in task_mbox.c if the DSS is failing.

    Regards,

    Justin

  • I left the CCS compiler overnight and it complete.  Here is the restuls from running the OOB demo.  It does not like the config file. d.  Here is the results from running the demo.  It does not like the config file.

  • mmwDemo:/>% ***************************************************************
    Skipped

    mmwDemo:/>% Created for SDK ver:02.00
    Skipped

    mmwDemo:/>% Created using Visualizer ver:2.0.0.2
    Skipped

    mmwDemo:/>% Frequency:77
    Skipped

    mmwDemo:/>% Platform:xWR16xx
    Skipped

    mmwDemo:/>% Scene Classifier:best_range_res
    Skipped

    mmwDemo:/>% Azimuth Resolution(deg):15
    Skipped

    mmwDemo:/>% Range Resolution(m):0.044
    Skipped

    mmwDemo:/>% Maximum unambiguous Range(m):9.02
    Skipped

    mmwDemo:/>% Maximum Radial Velocity(m/s):1
    Skipped

    mmwDemo:/>% Radial velocity resolution(m/s):0.13
    Skipped

    mmwDemo:/>% Frame Duration(msec):100
    Skipped

    mmwDemo:/>% Range Detection Threshold (dB):15
    Skipped

    mmwDemo:/>% Doppler Detection Threshold (dB):15
    Skipped

    mmwDemo:/>% Range Peak Grouping:enabled
    Skipped

    mmwDemo:/>% Doppler Peak Grouping:enabled
    Skipped

    mmwDemo:/>% Static clutter removal:disabled
    Skipped

    mmwDemo:/>% ***************************************************************
    Skipped

    mmwDemo:/>sensorStop
    Done

    mmwDemo:/>flushCfg
    Done

    mmwDemo:/>dfeDataOutputMode 1
    Done

    mmwDemo:/>channelCfg 15 3 0
    Done

    mmwDemo:/>adcCfg 2 1
    Done

    mmwDemo:/>adcbufCfg -1 0 0 1 0
    Done

    mmwDemo:/>profileCfg 0 77 429 7 57.14 0 0 70 1 256 5209 0 0 30
    Done

    mmwDemo:/>chirpCfg 0 0 0 0 0 0 0 1
    Done

    mmwDemo:/>chirpCfg 1 1 0 0 0 0 0 2
    Done

    mmwDemo:/>frameCfg 0 1 16 0 100 1 0
    Done

    mmwDemo:/>lowPower 0 1
    Done

    mmwDemo:/>guiMonitor -1 1 1 0 0 0 1
    Done

    mmwDemo:/>cfarCfg -1 0 0 8 4 4 0 5120
    Done

    mmwDemo:/>cfarCfg -1 1 0 4 2 3 0 5120
    Done

    mmwDemo:/>peakGrouping -1 1 1 1 1 255
    Done

    mmwDemo:/>multiObjBeamForming -1 1 0.5
    Done

    mmwDemo:/>clutterRemoval -1 0
    Done

    mmwDemo:/>calibDcRangeSig -1 0 -5 8 256
    Done

    mmwDemo:/>extendedMaxVelocity -1 0
    Done

    mmwDemo:/>bpmCfg -1 0 0 1
    Done

    mmwDemo:/>lvdsStreamCfg -1 0 0 0
    Done

    mmwDemo:/>nearFieldCfg -1 0 0 0
    Done

    mmwDemo:/>compRangeBiasAndRxChanPhase 0.0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
    Done

    mmwDemo:/>measureRangeBiasAndRxChanPhase 0 1.5 0.2
    Done

    mmwDemo:/>CQRxSatMonitor 0 3 5 123 0
    Done

    mmwDemo:/>CQSigImgMonitor 0 127 4
    Done

    mmwDemo:/>analogMonitor 1 1
    Done

    mmwDemo:/>sensorStart
    Debug: Init Calibration Status = 0x7f2

    Error -1
  • [C674X_0] Debug: MMWDemoDSS mmWave Control Initialization succeeded
    [Cortex_R4_0] **********************************************
    Debug: Launching the Millimeter Wave Demo
    **********************************************
    Debug: MMWDemoMSS Launched the Initialization Task
    Debug: MMWDemoMSS mmWave Control Initialization was successful
    Debug: CLI is operational
    [C674X_0] Debug: MMWDemoDSS Data Path init succeeded
    Debug: MMWDemoDSS initTask exit
    [Cortex_R4_0] Sensor has been stopped
    Debug: MMWDemoMSS Received CLI sensorStart Event
    Error: MMWDemoMSS mmWave Configuration failed [Error code -203685690]
  • As to the breakpoints, I inserted some sprintf messages in task_mbox.c to log these events. The program is getting MMWDEMO_DSS2MSS_DETOBJ_READY messages, but the number of points is 0. A 'magic packet' is sent, but no TLV, point cloud, or target index.

    timeStart = Cycleprofiler_getTimeStamp();

    srcAddress = (inputFromDSP *)SOC_translateAddress(message.body.detObj.detObjOutAddress, SOC_TranslateAddr_Dir_FROM_OTHER_CPU,NULL);
    outputMessage.frameNumber = srcAddress->header.frameNumber;
    outputMessage.chirpProcessingMargin = srcAddress->header.chirpProcessingMarginInUsec;
    outputMessage.frameProcessingMargin = srcAddress->header.frameProcessingMarginInUsec;
    outputMessage.trackingProcessingTime = gMmwMssMCB.mssDataPathObj.cycleLog.trackingTimeCurrInusec;
    outputMessage.uartSendingTime = gMmwMssMCB.mssDataPathObj.cycleLog.sendingToUARTTimeCurrInusec;


    numPoints = srcAddress->outputToTracker.object_count;
    System_printf("==>MMWDemo_DSS2MSS_DETOBJ_READY:%d:%d...",srcAddress->header.frameNumber,numPoints);
    if(numPoints > gMmwMssMCB.cfg.trackingCfg.config.maxNumPoints) {
    numPoints = gMmwMssMCB.cfg.trackingCfg.config.maxNumPoints;
    }
  • It's been several days. To review:
    1. Using the Demo Visualizer fails the sensorStart Command with a -1.
    2. The gui did not start.
    3. The Debug: Init Calibration Status = 0x7f2 was fixed by un-checking the two boxes associated with the "Group peaks from the same object"

    People Count works with quickstart bin image. Does not work with the compiled code. It loads and intializes, sends the magic packet headers, but no data records (no point cloud, no tlv, no target list.

    I need something I can compile that works. So far nothing works, so the debugger is ineffective.
  • Hi Greg,

    I have been able to reproduce your error by switching compiler versions. Please make sure that you are using compiler c6000 7.4.16 when building the DSS. To install a different compiler:
    In CCS, go to Help->Install Code Generation Compiler Tools->TI Compiler Updates. Make sure that "Show only the latest versions of available software" is NOT selected. Then scroll to find C6000 Compiler Tools 7.4.16.

    Regards,
    Justin