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.

AWR1642BOOST: Issue in modifying OOB demo for scenario where more MSS code and MSS .bss space is needed

Part Number: AWR1642BOOST
Other Parts Discussed in Thread: UNIFLASH, MATHLIB, IWR6843

Tool/software:

Hi, 

I have a scenario where I require additional program and .bss space for the AWR1642BOOST R4F core. To achieve this, I've found an option in C:\ti\mmwave_sdk_03_06_02_00-LTS\packages\ti\common\mmwave_sdk_xwr16xx.mak that allows me to set the MMWAVE_SDK_SHMEM_ALLOC value as specified in the makefile.

To gain a better understanding, I rebuilt the existing out-of-the-box code using different MMWAVE_SDK_SHMEM_ALLOC values provided in mmwave_sdk_xwr16xx.mak. After flashing the newly generated bin files, I tested the setup using the mmWave Demo Visualizer. However, except for the default valued of MMWAVE_SDK_SHMEM_ALLOC configuration, I am unable to connect to the device in the mmWave Demo Visualizer.

I don't believe this issue is related to unavailable serial ports, as I can access the serial port using other applications. It seems that the visualizer might be expecting certain data that it's not receiving (though I'm not entirely sure). When I set MMWAVE_SDK_SHMEM_ALLOC to its default value, I can successfully connect using the mmWave Demo Visualizer.

To set MMWAVE_SDK_SHMEM_ALLOC , I added the below statement in in C:\ti\mmwave_sdk_03_06_02_00-LTS\packages\scripts\windows\setenv.bat

set MMWAVE_SDK_SHMEM_ALLOC=0x00010005 

Please help me to understand why is this happening . Am i missing something here?

Thank you 

  • To debug the code I would recommend flashing the empty app image to the device, resetting the board to functional mode, launching target configuration in ccs, connecting to the core, loading the binary, placing a break point in the code, and sending the configuration through tera term. The application should tell you what the error is

  • You can find the ccs debug image here 

    C:\ti\mmwave_sdk_03_06_00_00-LTS\packages\ti\utils\ccsdebug

    The out of box demo can be found here 

    C:\ti\mmwave_sdk_03_06_00_00-LTS\packages\ti\demo\xwr16xx\mmw

    and here 

    C:\ti\radar_toolbox_1_30_01_03\source\ti\examples\Out_Of_Box_Demo\src\xwr1642

    Please use the latest toolbox release. The above toolbox release lets you import the project into CCS and build it there as well

  • Hello,

    I've attempted the following setup, and here's the situation:

    When I load the program using CCS and then connect and configure the device with the mmWave Demo Visualizer, everything functions correctly.

    However, if I flash the TI Radar with the generated binary using Uniflash and then try to use the mmWave Demo Visualizer, the hardware doesn't connect, as depicted in the image from my initial diagram.

    Aside from modifying MMWAVE_SDK_SHMEM_ALLOC, I haven't changed anything else in the OOB code.

    I am using OOB demo provided in mmWave SDK 3.6.2 which i believe is latest version for xwr1642

    Please let me know what I am missing here. 

    Thanks 

    Regards

    Gayatri

  • This is a known issue for mmWave Demo Visualizer. The online version does not perform as well. 

    Please download mmWave Demo Visualizer to your PC and run from there.

  • The issue is not mmWave Demo visualizer. Even if I use any other serial terminal, i see the same problem. I am able to connect, but no response for the commands send. 

    Here are the steps I followed. Could you please go through the below and let me know if i am missing something 

    1. Navigate to the directory containing the files to set the MMWAVE_SDK_SHMEM_ALLOC variable (C:\ti\mmwave_sdk_03_06_02_00-LTS\packages\scripts\windows).
    2. Add the statement set MMWAVE_SDK_SHMEM_ALLOC=0x00010104 to setenv.bat.
    3. Add export MMWAVE_SDK_SHMEM_ALLOC=0x00010104 to setenv.mak.
    4. Run setenv.bat 
    5. Navigate to the directory containing the mmWave Demo 
    6. Execute gmake clean followed by gmake all. The output of the gmake command. Output: 
      C:\ti2\mmwave_sdk_03_06_02_00-LTS\packages\scripts\windows>setenv
      C:\ti2\mmwave_sdk_03_06_02_00-LTS\packages\scripts\windows>set MMWAVE_SDK_DEVICE=awr16xx
      C:\ti2\mmwave_sdk_03_06_02_00-LTS\packages\scripts\windows>set MMWAVE_SDK_SHMEM_ALLOC=0x00010104
      C:\ti2\mmwave_sdk_03_06_02_00-LTS\packages\scripts\windows>set DOWNLOAD_FROM_CCS=yes
      C:\ti2\mmwave_sdk_03_06_02_00-LTS\packages\scripts\windows>set MMWAVE_SECDEV_INSTALL_PATH=
      C:\ti2\mmwave_sdk_03_06_02_00-LTS\packages\scripts\windows>set MMWAVE_SECDEV_HSIMAGE_CFG=/hs_image_creator/hsimage.cfg
      C:\ti2\mmwave_sdk_03_06_02_00-LTS\packages\scripts\windows>set MMWAVE_SDK_TOOLS_INSTALL_PATH=C:/ti
      C:\ti2\mmwave_sdk_03_06_02_00-LTS\packages\scripts\windows>set MMWAVE_SDK_INSTALL_PATH=C:/ti/mmwave_sdk_03_06_02_00-LTS/packages
      C:\ti2\mmwave_sdk_03_06_02_00-LTS\packages\scripts\windows>set R4F_CODEGEN_INSTALL_PATH=C:/ti/ti-cgt-arm_16.9.6.LTS
      C:\ti2\mmwave_sdk_03_06_02_00-LTS\packages\scripts\windows>set XDC_INSTALL_PATH=C:/ti/xdctools_3_50_08_24_core
      C:\ti2\mmwave_sdk_03_06_02_00-LTS\packages\scripts\windows>set BIOS_INSTALL_PATH=C:/ti/bios_6_73_01_01/packages
      C:\ti2\mmwave_sdk_03_06_02_00-LTS\packages\scripts\windows>set XWR14XX_RADARSS_IMAGE_BIN=C:/ti/mmwave_sdk_03_06_02_00-LTS/packages/../firmware/radarss/xwr12xx_xwr14xx_radarss_rprc.bin
      C:\ti2\mmwave_sdk_03_06_02_00-LTS\packages\scripts\windows>set XWR16XX_RADARSS_IMAGE_BIN=C:/ti/mmwave_sdk_03_06_02_00-LTS/packages/../firmware/radarss/xwr16xx_radarss_rprc.bin
      C:\ti2\mmwave_sdk_03_06_02_00-LTS\packages\scripts\windows>set XWR18XX_RADARSS_IMAGE_BIN=C:/ti/mmwave_sdk_03_06_02_00-LTS/packages/../firmware/radarss/xwr18xx_radarss_rprc.bin
      C:\ti2\mmwave_sdk_03_06_02_00-LTS\packages\scripts\windows>set XWR68XX_RADARSS_IMAGE_BIN=C:/ti/mmwave_sdk_03_06_02_00-LTS/packages/../firmware/radarss/xwr6xxx_radarss_rprc.bin
      C:\ti2\mmwave_sdk_03_06_02_00-LTS\packages\scripts\windows>set C674_CODEGEN_INSTALL_PATH=C:/ti/ti-cgt-c6000_8.3.3
      C:\ti2\mmwave_sdk_03_06_02_00-LTS\packages\scripts\windows>set C64Px_DSPLIB_INSTALL_PATH=C:/ti/dsplib_c64Px_3_4_0_0
      C:\ti2\mmwave_sdk_03_06_02_00-LTS\packages\scripts\windows>set C674x_DSPLIB_INSTALL_PATH=C:/ti/dsplib_c674x_3_4_0_0
      C:\ti2\mmwave_sdk_03_06_02_00-LTS\packages\scripts\windows>set C674x_MATHLIB_INSTALL_PATH=C:/ti/mathlib_c674x_3_1_2_1
      C:\ti2\mmwave_sdk_03_06_02_00-LTS\packages\scripts\windows>call checkenv.bat
      -----------------------------------------------
      mmWave Build Environment Configured
      -----------------------------------------------
    7. Switch the device to flashing mode.
    8. Download the binary generated from step 6 using Uniflash.
    9. Switch the device to functional mode.
    10. Open mmWave Demo Visualizer, specify the serial ports, and click OK.
  • Hello,

    Any inputs on this?

    Please note that the issue occurs only when deploying via Uniflash in deployment mode. It works fine when flashing via CCS in 'debug' mode.

    I found a few similar questions on the e2e forum, but none of them address the specific issue I'm experiencing:

    Any guidance on this would be greatly appreciated.

    Thanks 

    Regards

    Gayatri

  • Hi, 

    I do not see anything wrong in your steps. If you are able to get to run with CCS debug image it should run when flashed as well. I would recommend you flash the unmodified demo, see if it runs, add your changes one by one and try again 

  • Hi,

    I only have one line change as mentioned in the previous mail. That is 

    1. Add the statement set MMWAVE_SDK_SHMEM_ALLOC=0x00010104 to setenv.bat.
    2. Add export MMWAVE_SDK_SHMEM_ALLOC=0x00010104 to setenv.mak

    I did not change anything else in the code 

    Thanks 

    Regards

    Gayatri

  • Are you able to run the unmodified demo flashed onto the device with visualizer?

  • Yes . I am able to run unmodified version. 

  • if I am modifying MMWAVE_SDK_SHMEM_ALLOC, am i supposed to rebuild the sbl code with the above change and flash it , or does the final application code takes care of it ? 

    Thanks

  • Hello, 

    Please refer to the section Shared memory usage by SDK demos in the user guide. If done correctly the items mentioned in the user guide should be effected

  • I have a similar problem with IWR6843. As I have run out of memory for DSS, I  try to move the DSS program (.text) to L3 memory, without success. The IWR6843 seems only support 0x000006 for the MMWAVE_SDK_SHMEM_ALLOC variable.  I will probably make a related question soon.

    But what I have learned regarding your finding that it works with CCS but not when running from flash, might be due to the fact that the memory is configured by the bootloader when loading meta image from flash. So the CCS debug flash image you run determines the memory partition and your modification of MMWAVE_SDK_SHMEM_ALLOC has no effect when loading the program to RAM using CCS. You would need to recompile the CCS debug image using the modified MMWAVE_SDK_SHMEM_ALLOC to take it into effect. I might be wrong though as I can not get it to work either. The documentation is not clear about this topic and does not explain the MMWAVE_SDK_SHMEM_ALLOC variable at all.

  • Hi Tom, 

    Please make a new e2e thread to address the issue with IWR56843 for better resolution. Thankyou