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.

AWR1843: Source code for AWR1843 Out of Box Demo for use in Data Visualizer / Sync Out firmware adaptation

Part Number: AWR1843
Other Parts Discussed in Thread: SYSCONFIG

Hello!  I wanted to be able to see the Sync Out signal on AWR1843 Boost board while running the out of box demo code using the data visualizer GUI but it looks like R108 (the resistor between the AWR1843 and J6 pin 18) isn't populated for whatever reason (not entirely sure why it wouldn't be).  All the same, I tried probing the signal at the pads and it looks like this functionality isn't enabled by default. 

I downloaded the SysConfig program to generate the necessary code to be able to MUX this signal in and it gave me the following code to add this function (shown below):

        // Pinmux_Set_OverrideCtrl(SOC_XWR18XX_PING13_PADBC, PINMUX_OUTEN_RETAIN_HW_CTRL, PINMUX_INPEN_RETAIN_HW_CTRL);
        Pinmux_Set_FuncSel(SOC_XWR18XX_PING13_PADBC,SOC_XWR18XX_PING13_PADBC_SYNC_OUT);

I tried to find a place to implement this in and realized that the code I flashed in didn't have the source code, only the *.bin file (I used C:\ti\mmwave_sdk_03_05_00_04\firmware\radarss\xwr18xx_radarss_rprc.bin).  In order to be able to add this line of code, I believe I'll need the source code.  Is it possible to provide the source code so I can update it to add this line of code?

Any additional info that would be helpful would be greatly appreciated as well.  Thanks for all your help!

  • Hi,

    The file you have flashed is not correct.

    In order to run the out of the box demo you should flash the demo binary:

    C:\ti\mmwave_sdk_03_05_00_04\packages\ti\demo\xwr18xx\mmw\xwr18xx_mmw_demo.bin

    Is this correct?

    In order to make changes to src code and rebuild the demo please read the instructions in the SDK User's guide

    C:\ti\mmwave_sdk_03_05_00_04\docs\C:\ti\mmwave_sdk_03_05_00_04\docs\mmwave_sdk_user_guide.pdf

    I will have the hw team review your question regarding the resistor and get back to you

    thank you

    Cesar

  • Cesar,

    Thanks again for pointing me the right direction!  Flashing the firmware I pointed to previously did actually work for me with the demo visualizer app but you are correct that I will likely want to use the correct directory firmware for testing so if I make changes, I have a working build version for reference. 

    I went into the guide and made the changes it suggested (I didn't need to make any changes to the setenv.bat file, it configured correctly the first time, which was good news!).  I did do a clean which seemed to work but I got some errors when building the code using gmake all.  Below is what I ran into:

    C:\ti\mmwave_sdk_03_05_00_04\packages\ti\demo\xwr18xx\mmw>gmake clean
    SHMEM_ALLOC is set to 0x00000006
    Cleaning the Millimeter Wave Demo MSS Objects
    Cleaning the Millimeter Wave Demo MSS RTSC package
    Cleaning the Millimeter Wave Demo DSS Objects
    Cleaning the Millimeter Wave Demo DSS RTSC package
    Cleaning the AOP Millimeter Wave Demo MSS Objects
    Cleaning the Millimeter Wave Demo MSS RTSC package
    Cleaning the AOP Millimeter Wave Demo DSS Objects
    Cleaning the Millimeter Wave Demo DSS RTSC package
    
    C:\ti\mmwave_sdk_03_05_00_04\packages\ti\demo\xwr18xx\mmw>gmake all
    SHMEM_ALLOC is set to 0x00000006
    Configuring RTSC packages...
    C:/ti/xdctools_3_50_08_24_core/xs --xdcpath="C:/ti/bios_6_73_01_01/packages;C:/ti/mmwave_sdk_03_05_00_04/packages" xdc.tools.configuro -t ti.targets.arm.elf.R4Ft -p ti.platforms.cortexR:IWR68XX:false:200 -r release -c C:/ti/ti-cgt-arm_16.9.6.LTS -DMMWAVE_SDK_DEVICE_TYPE=xwr68xx --compileOptions "--enum_type=int"  -o mmw_configPkg_mss_xwr68xx mss/mmw_mss.cfg
    making package.mak (because of package.bld) ...
    generating interfaces for package mmw_configPkg_mss_xwr68xx (because package/package.xdc.inc is older than package.xdc) ...
    configuring mmw_mss.xer4ft from package/cfg/mmw_mss_per4ft.cfg ...
    generating custom ti.sysbios library makefile ...
    Starting build of library sources ...
    making C:/ti/mmwave_sdk_03_05_00_04/packages/ti/demo/xwr18xx/mmw/mmw_configPkg_mss_xwr68xx/package/cfg/mmw_mss_per4ft.src/sysbios/sysbios.aer4ft ...
    gmake[1]: Entering directory `C:/ti/mmwave_sdk_03_05_00_04/packages/ti/demo/xwr18xx/mmw/mmw_configPkg_mss_xwr68xx/package/cfg/mmw_mss_per4ft.src/sysbios'
    cler4ft C:/ti/bios_6_73_01_01/packages/ti/sysbios/BIOS.c ...
    asmer4ft C:/ti/bios_6_73_01_01/packages/ti/sysbios/family/arm/IntrinsicsSupport_asm.asm ...
    asmer4ft C:/ti/bios_6_73_01_01/packages/ti/sysbios/family/arm/TaskSupport_asm.asm ...
    asmer4ft C:/ti/bios_6_73_01_01/packages/ti/sysbios/family/arm/v7r/vim/Hwi_asm.sv7R ...
    asmer4ft C:/ti/bios_6_73_01_01/packages/ti/sysbios/family/arm/v7r/vim/Hwi_asm_switch.sv7R ...
    asmer4ft C:/ti/bios_6_73_01_01/packages/ti/sysbios/family/arm/exc/Exception_asm.asm ...
    asmer4ft C:/ti/bios_6_73_01_01/packages/ti/sysbios/family/arm/v7r/tms570/Core_asm.sv7R ...
    asmer4ft C:/ti/bios_6_73_01_01/packages/ti/sysbios/family/arm/a15/TimestampProvider_asm.asm ...
    arer4ft BIOS.obj arm_IntrinsicsSupport_asm.obj arm_TaskSupport_asm.obj vim_Hwi_asm.obj vim_Hwi_asm_switch.obj exc_Exception_asm.obj tms570_Core_asm.obj a15_TimestampProvider_asm.obj ...
    gmake[1]: Leaving directory `C:/ti/mmwave_sdk_03_05_00_04/packages/ti/demo/xwr18xx/mmw/mmw_configPkg_mss_xwr68xx/package/cfg/mmw_mss_per4ft.src/sysbios'
    Build of libraries done.
    cler4ft package/cfg/mmw_mss_per4ft.c ...
    Finished configuring packages
    
    [R4 Device/Type: iwr68xx/xwr68xx] Building file: C:/ti/mmwave_sdk_03_05_00_04/packages/ti/demo/utils/mmwdemo_rfparser.c
    [R4 Device/Type: iwr68xx/xwr68xx] Building file: C:/ti/mmwave_sdk_03_05_00_04/packages/ti/demo/utils/mmwdemo_adcconfig.c
    [R4 Device/Type: iwr68xx/xwr68xx] Building file: C:/ti/mmwave_sdk_03_05_00_04/packages/ti/demo/utils/mmwdemo_monitor.c
    [R4 Device/Type: iwr68xx/xwr68xx] Building file: ./mss/mss_main.c
    "./mss/mss_main.c", line 1859: error: identifier "SOC_XWR18XX_MSS_ADCBUF_BASE_ADDRESS" is undefined
    "./mss/mss_main.c", line 3330: error: identifier "SOC_XWR18XX_PINN5_PADBE" is undefined
    "./mss/mss_main.c", line 3331: error: identifier "SOC_XWR18XX_PINN5_PADBE_MSS_UARTA_TX" is undefined
    "./mss/mss_main.c", line 3332: error: identifier "SOC_XWR18XX_PINN4_PADBD" is undefined
    "./mss/mss_main.c", line 3333: error: identifier "SOC_XWR18XX_PINN4_PADBD_MSS_UARTA_RX" is undefined
    "./mss/mss_main.c", line 3336: error: identifier "SOC_XWR18XX_PINF14_PADAJ" is undefined
    "./mss/mss_main.c", line 3337: error: identifier "SOC_XWR18XX_PINF14_PADAJ_MSS_UARTB_TX" is undefined
    "./mss/mss_main.c", line 3343: error: identifier "SOC_XWR18XX_PINK13_PADAZ" is undefined
    "./mss/mss_main.c", line 3344: error: identifier "SOC_XWR18XX_PINK13_PADAZ_GPIO_2" is undefined
    "./mss/mss_main.c", line 3350: error: identifier "SOC_XWR18XX_PINR12_PADAP" is undefined
    "./mss/mss_main.c", line 3351: error: identifier "SOC_XWR18XX_PINR12_PADAP_QSPI_CLK" is undefined
    "./mss/mss_main.c", line 3353: error: identifier "SOC_XWR18XX_PINP11_PADAQ" is undefined
    "./mss/mss_main.c", line 3354: error: identifier "SOC_XWR18XX_PINP11_PADAQ_QSPI_CSN" is undefined
    "./mss/mss_main.c", line 3356: error: identifier "SOC_XWR18XX_PINR13_PADAL" is undefined
    "./mss/mss_main.c", line 3357: error: identifier "SOC_XWR18XX_PINR13_PADAL_QSPI_D0" is undefined
    "./mss/mss_main.c", line 3359: error: identifier "SOC_XWR18XX_PINN12_PADAM" is undefined
    "./mss/mss_main.c", line 3360: error: identifier "SOC_XWR18XX_PINN12_PADAM_QSPI_D1" is undefined
    "./mss/mss_main.c", line 3362: error: identifier "SOC_XWR18XX_PINR14_PADAN" is undefined
    "./mss/mss_main.c", line 3363: error: identifier "SOC_XWR18XX_PINR14_PADAN_QSPI_D2" is undefined
    "./mss/mss_main.c", line 3365: error: identifier "SOC_XWR18XX_PINP12_PADAO" is undefined
    "./mss/mss_main.c", line 3366: error: identifier "SOC_XWR18XX_PINP12_PADAO_QSPI_D3" is undefined
    "./mss/mss_main.c", line 3372: error: identifier "SOC_XWR18XX_GPIO_2" is undefined
    22 errors detected in the compilation of "./mss/mss_main.c".
    
    >> Compilation failure
    gmake: *** [obj_xwr68xx/mss_main.oer4f] Error 1
    
    C:\ti\mmwave_sdk_03_05_00_04\packages\ti\demo\xwr18xx\mmw>

    Unfortunately, it looks like there are some errors with either this project setup in it's current form or I have something configured incorrectly.  Is this something that might have been corrected in a more recent SDK update or is this a known issue?  Let me know if you have any suggestions.  Thanks!

  • I think you have not configured the device type correctly

    As you can see in the log the device type  is still iwr68xx/xwr68xx

    C:\ti\mmwave_sdk_03_05_00_04\packages\scripts\windows\setenv.bat

    Please update line 12 as follows

    @REM Select your device. Options (case sensitive) are: awr14xx, iwr14xx, awr16xx, iwr16xx, awr18xx, iwr18xx, awr68xx, iwr68xx
    set MMWAVE_SDK_DEVICE=awr18xx

    Thank you
    Cesar

  • Apologies, the script looked a bit different and I thought it was setup to support multiple packages at once (rather than the reality of me having changed CHECKENV instead of setdev.bat . . . my fault for trying to jump into this so late at night.  Should've waited another day clearly (especially since it's so clearly explained in the user guide). . . thanks for the help!

    I wanted to get the out_sync up and working and it appears that the sync_out pin is on R108 (but not populated, as mentioned in the previous post).  I found where the pins are being MUXed in MmwDemo_platformInit in mss_main.c.  I placed the following lines in the code:

    /**********************************************************************
         * Setup the PINMUX:
         * - for SYNC_OUT - Added 05-31-21
         **********************************************************************/
        Pinmux_Set_OverrideCtrl(SOC_XWR18XX_PING13_PADBC, PINMUX_OUTEN_RETAIN_HW_CTRL, PINMUX_INPEN_RETAIN_HW_CTRL);
        Pinmux_Set_FuncSel(SOC_XWR18XX_PING13_PADBC,SOC_XWR18XX_PING13_PADBC_SYNC_OUT);

    Unfortunately, I'm not seeing anything on the scope when probing both sides of R108.  Not sure if I need to configure something else in addition to this (I didn't see any additional code to add in the SysConfig program) so I'm not sure if I'm missing something or placing the code in the wrong place or something to that effect. 

    Sorry again about that really, really silly mistake on my part above.  I really should've caught that.  Thanks for all your help!

  • Hi,

    Please give us a few days to discuss with the hardware team

    thank you

    Cesar

  • Jeremy,

    Here is a quote from a previous E2E thread on this exact issue: "The pulse width of the SYNC_OUT is only around 25ns". Please configure your scope accordingly.

    Here is the link to the original thread: https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/888324/awr1843boost-how-to-measure-the-sync_out-signal-from-awr1843

    Regards,
    Kyle

  • Sorry for the delay, the forums were giving me issues last week. 

    I actually did see that other thread but if you look at their response in the thread, they could get it to work on the 1243 but never were able to get it working on the 1843. 

    I did find the issue though.  If the signal was 25 ns apart, I should've been able to see it with my 100 MHz scope (I believe anything 40+ MHz would've been fine).  I have a 1 GHz scope in the office so I went in to see if I could see the signal.  Sure enough, it was there but it wasn't 25 ns wide, it was 5 ns wide (which means I'd need a 200+ MHz scope to see the signal, which explains why I couldn't see it on my scope at home). 

    Is it safe to assume the chip itself is generating the sync_out rather than the firmware?  I would assume so but thought I'd check all the same!  It could be the reason R108 isn't populated or in the firmware by default (since the signal isn't really viewable on anything but high end scopes).  I could be wrong though. 

    Thanks for your help!

  • Jeremy,

    Thank you for this update! Let me review this information and I will get back to you with a response. Please allow a few days to track some of these answers down.

    Regards,

    Kyle

  • Jeremy,

    The sync_out is generated by the firmware and is equal to the length of one clock cycle. Since ARM core of the device runs at 200 MHz, the 5 ns length aligns with this explanation. This pulse length is not configurable.

    Regards,
    Kyle