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.

AWR2243: DCA1000EVM unable to run mmwavelink_example.exe

Part Number: AWR2243
Other Parts Discussed in Thread: , DCA1000EVM

Hello,

I tried to execute example "mmWaveLink_SingleChip_Example" mentioned in "MMWAVE DFP User Guide" but it fails. After checking similar threads I still couldn't resolve my problem.

Following steps were made:

  1. Downloaded "MMWAVE-DFP-2G"(mmwave_dfp_02_02_02_01)
  2. Set board in SOP mode 4 using the jumpers (SOP[2:0] 001 (SOP mode 4) = Functional mode) -SOP0(1)
  3. Ran "mmwave_dfp_02_02_02_01\ti\example\mmWaveLink_SingleChip_Example\mmwavelink_example.exe"

What results in window which is being freezed. There is not RESET (red) LED blink as soon as I start the application, thus I have pressed NRST button first then started the application exe and still window freezes.

Any idea what's going wrong? Thanks in advance.

Best regards

  • Hello Tetris,

    Wishing you a very Happy New Year!

    mmwave_dfp_02_02_02_01 is architected for AWR2243 ES1.1 silicon. Are you sure you've this board?

    If you have AWR2243 ES1.0 silicon, the correct DFP would be mmwave_dfp_02_02_00_03.

    Once you've made sure you're using the correct firmware and the example still doesn't work for you, please send us the screenshot of the window where the example is getting stuck, along with its trace file.

    Regards,

    Ishita

  • Hello Ishita,

    Happy New Year for you as well !

    I'm using AWR2243Boost with DCA1000EVM to be exact.

    I have tried both mmwave_dfp_02_02_02_01 and mmwave_dfp_02_02_00_03 in order to check if I have downloaded incorrect version, but result is the same.

    Both windows stays open and act like froozen.

    mmwave_dfp_02_02_02_01

    [17:24:12:759]: rlsOpenGenericGpioIf: Got 4 devices connected 
    [17:24:12:996]: rlsOpenBoardControlIf: Got 4 devices connected 
    [17:24:13:108]: [VER] mmWaveLink Studio Version: 1.1.5.4.22.11.18
    
    [17:24:13:395]: rlsFindAndOpenDevice: Got 4 devices connected 
    [17:24:13:411]: SPI port opened (DeviceNum=0)
    [17:24:13:413]: IRQ & I2C port opened (DeviceNum=1)
    

    mmwave_dfp_02_02_00_03

    [17:24:12:759]: rlsOpenGenericGpioIf: Got 4 devices connected 
    [17:24:12:996]: rlsOpenBoardControlIf: Got 4 devices connected 
    [17:24:13:108]: [VER] mmWaveLink Studio Version: 1.1.5.4.22.11.18
    
    [17:24:13:395]: rlsFindAndOpenDevice: Got 4 devices connected 
    [17:24:13:411]: SPI port opened (DeviceNum=0)
    [17:24:13:413]: IRQ & I2C port opened (DeviceNum=1)
    

    Regards,

    Tetris

  • Hello Tetris,

    The revision would be highlighted on the chip that is soldered on the EVM. Line 4 indicates whether the device is ES1.0 or ES1.1. You can refer to section 3 i.e Device Markings in the Device Errata Document.

    And as you said, you've configured the device in SOP 4 (functional) mode, please ensure you have a jumper on only SOP 0 pin. If you're still not able to make the mmWavelink example work, I would recommend testing this with mmWave studio then.

    Also, I came across a similar thread which addresses your concern. Please take a look and let me know your insights :

      

    Regards,

    Ishita

  • Hello Ishita,

    I have checked provided document(Device Errata Document) and my board is AWR2243P with ES1.1 silicon(4th line is 583A).

    I have also followed similar thread provided by you, but it didn't resolve my problem.

    I followed this steps(from recommended thread):

    "

    Hello Hank,

    In SOP-4 functional mode, there is slight change in the step.

    You need to connect SPI first, then download the firmware (meta image binary).

    As mmwave Studio is meant to use in mainly SOP-2 (development mode), so functional mode details are not given in the documentation.

    But here I asked to verify if device is working in functional mode or not, as you are facing problem with mmwavelink example which works in functional mode.

    So, now coming back to studio in SOP-4 funcitonal mode, steps

    1. Reset (Button:1)

    2. Don't connect RS232, skip clicking Button-2

    3.. Click SPI connect, it should connect without fail

    4. Firmware download

    5. RF Power up

    Above step-3 should confirm that device is able to work in functional mode.

    Regards,

    Jitendra

    "

    and I was able to capture frames using follow configuration:

     BSS FW: C:\Users\User\Desktop\AWR2243Boost\mmwave_dfp_02_02_02_01\mmwave_dfp_02_02_02_01\firmware\xwr22xx_metaImage.bin

    MSS FW: C:\Users\User\Desktop\AWR2243Boost\mmwave_dfp_02_02_02_01\mmwave_dfp_02_02_02_01\firmware\masterss\xwr22xx_mss_rprc.bin

    Unfortunatelly when it comes to mmwave_example.exe, the window is stuck as previously.

    [15:44:50:484]: rlsOpenGenericGpioIf: Got 4 devices connected 
    [15:44:50:660]: rlsOpenBoardControlIf: Got 4 devices connected 
    [15:44:50:773]: [VER] mmWaveLink Studio Version: 1.1.5.4.22.11.18
    
    [15:44:50:982]: rlsFindAndOpenDevice: Got 4 devices connected 
    [15:44:50:983]: SPI port opened (DeviceNum=0)
    [15:44:50:984]: IRQ & I2C port opened (DeviceNum=1)
    

    Regards,

    Tristan

  • Hello Tristan,

    I can see you were able to connect to studio using SOP 4 mode, but there was no data captured (As seen by the command no LVDS data).

    Also, in terms of firmware download, you need to download only one firmware i.e. metaimage in the BSS FW path. No need for MSS FW download.

    I think when using mmwavelink example, the application is not able to reset the device. Does pressing the manual NRST button also doesn't help?

    Meanwhile, let me consult our expert internally and I will get back to you with further questions/insights by next week.

    Regards,

    Ishita

  • Hello Ishita,

    unfortunately pressing NRST button ant then running mmwavelink_example didn't help.

    Regards,

    Tetris

  • Hello Tetris,

    Thanks for the information. Please give me some time to investigate this. I will get back with an update by 13th Jan.

    Regards,

    Ishita

  • Hello Tetris,

    Extremely sorry for the delay. I didn't get a chance to look into this. I will get back to your concern by Monday.

    Regards,

    Ishita

  • Hello Tetris,

    We have sometimes seen this issue due to mismatch in the version of Visual Studio. The device reset happens via FTDI-port library (mmwl_port_ftdi.lib), which might be built with a different version compared to what user uses to execute mmWaveLink_example.

    Project & source file of this library is provided under mmWave Studio package, which you would need to import to mwmavelink_example Visual Studio project and recompile it. Just remove the older link for the library and attach this newly built library path to example project:

    Here is the path for that -- C:\ti\mmwave_studio_03_00_00_07\mmWaveStudio\ReferenceCode\FTDILib\SourceCode

    Regards,

    Ishita

     

  • Hello Ishita,

    thank you for your response.

    If I understood you well, I have:

    1) Replaced old link with new one:

    2) Recompiled it and received following console output:

    1> ------ Build started: Project: mmwavelink_example, Configuration: Debug Win32 ------
    1> mmw_example.c
    1> crc_compute.obj: warning LNK4075: "/ EDITANDCONTINUE" option was ignored due to "/ INCREMENTAL: NO" option specified
    1> Creation of C:\Users\User\Desktop\AWR2243Boost\mmwave_dfp_02_02_02_01\mmwave_dfp_02_02_02_01\ti\example\mmWaveLink_SingleChip_Example\Debug\ mmwavelink_example.lib and C object \mmwavelink_example.lib\Desktop\AWR2243_01 example\mmWaveLink_SingleChip_Example\Debug\mmwavelink_example.exp
    1> LINK: warning LNK4098: the default library "MSVCRT" conflicts with other libraries; use the/NODEFAULTLIB: library option
    1> mmwl_port_ftdi.lib (mmwl_port_ftdi.obj): warning LNK4099: PDB "mmwl_port_ftdi.pdb" not found with "mmwl_port_ftdi.lib (mmwl_port_ftdi.obj)" or "C:\Users\User\Desktop\AWR2243Boost\ mmwave_dfp_02_02_02_01\mmwave_dfp_02_02_02_01\ti\example\mmWaveLink_SingleChip_Example\Debug\mmwl_port_ftdi.pdb ”; the object will be consolidated without debugging information
    1> mmwavelink_example.vcxproj -> C: \ Users \ User\ Desktop \ AWR2243Boost \ mmwave_dfp_02_02_02_01 \ mmwave_dfp_02_02_02_01 \ ti \ example \ mmWaveLink_SingleChip_Example\Debug\ mmwavelink_example.exe
    1> Compiling project "mmwavelink_example.vcxproj" done.


    3) Ran mmwavelink_example.exe

    Unfortunately window got stuck as previously.

    Regards,

    Tetris

  • Hi Tetris,

    Device reset is being done by FTDI library available in <dfp>\ti\example\platform\mmwl_ftdi\mmwl_port_ftdi.lib

    Looks like the 2nd Gen FTDI library doesn't fit with your PC OS version so not able to reset the device whereas old version (1st Gen) library works well.

    2nd Gen DFP FTDI library got many updates compare to 1st Gen DFP which may be the reason for your issue.

    Here is relevant thread on this issue.

    https://e2e.ti.com/support/sensors/f/1023/p/944364/3496379#3496379

    So for your example you need to use FTDI library from 'C:\ti\mmwave_dfp_01_02_06_03\ti\example\platform\mmwlstudio\mmwlstudio.lib' instead of 'C:\ti\mmwave_dfp_02_02_01_00\ti\example\platform\mmwl_ftdi\mmwl_port_ftdi.lib'

    Here are few changes you need to make in the example application, as mmwlstudio.lib has different function names.

    clientCtx.comIfCb.rlComIfOpen = rlsSpiOpen;// rlsCommOpen;
    clientCtx.comIfCb.rlComIfClose = rlsSpiClose;// rlsCommClose;

    clientCtx.devCtrlCb.rlDeviceMaskHostIrq = rlsSpiIRQMask;// rlsCommIRQMask;
    clientCtx.devCtrlCb.rlDeviceUnMaskHostIrq = rlsSpiIRQUnMask;// rlsCommIRQUnMask;

    Regards,

    Jitendra

  • Hi Jitendra,

    I have followed your instructions and added 'C:\ti\mmwave_dfp_01_02_06_03\ti\example\platform\mmwlstudio\mmwlstudio.lib' library.

    I did it using Visual Studio Linker and my mmwavelink_example.vcxproj looks like this:

    <?xml version="1.0" encoding="utf-8"?>
    <Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
      <ItemGroup Label="ProjectConfigurations">
        <ProjectConfiguration Include="Debug|Win32">
          <Configuration>Debug</Configuration>
          <Platform>Win32</Platform>
        </ProjectConfiguration>
        <ProjectConfiguration Include="Release|Win32">
          <Configuration>Release</Configuration>
          <Platform>Win32</Platform>
        </ProjectConfiguration>
      </ItemGroup>
      <PropertyGroup Label="Globals">
        <ProjectGuid>{7DDA6FE1-D2A0-4810-B686-A3F0ED42A114}</ProjectGuid>
        <Keyword>Win32Proj</Keyword>
        <RootNamespace>mmwavelink_example</RootNamespace>
        <ProjectName>mmwavelink_example</ProjectName>
        <WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
      </PropertyGroup>
      <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
      <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
        <ConfigurationType>Application</ConfigurationType>
        <UseDebugLibraries>true</UseDebugLibraries>
        <PlatformToolset>v141</PlatformToolset>
        <CharacterSet>Unicode</CharacterSet>
      </PropertyGroup>
      <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
        <ConfigurationType>Application</ConfigurationType>
        <UseDebugLibraries>false</UseDebugLibraries>
        <PlatformToolset>v141</PlatformToolset>
        <WholeProgramOptimization>true</WholeProgramOptimization>
        <CharacterSet>Unicode</CharacterSet>
      </PropertyGroup>
      <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
      <ImportGroup Label="ExtensionSettings">
      </ImportGroup>
      <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
        <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
      </ImportGroup>
      <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
        <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
      </ImportGroup>
      <PropertyGroup Label="UserMacros" />
      <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
        <LinkIncremental>false</LinkIncremental>
      </PropertyGroup>
      <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
        <LinkIncremental>false</LinkIncremental>
      </PropertyGroup>
      <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
        <ClCompile>
          <PrecompiledHeader>
          </PrecompiledHeader>
          <WarningLevel>Level3</WarningLevel>
          <Optimization>Disabled</Optimization>
          <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_LIB;FIRMWARE_DOWNLOAD;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
          <SDLCheck>true</SDLCheck>
          <AdditionalIncludeDirectories>$(SolutionDir)\..\platform\mmwlstudio\;$(SolutionDir)\..\..\..\;$(SolutionDir)\..\..\..\firmware\radarss\;$(SolutionDir)\..\..\..\firmware\masterss\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
        </ClCompile>
        <Link>
          <SubSystem>Console</SubSystem>
          <GenerateDebugInformation>true</GenerateDebugInformation>
          <AdditionalLibraryDirectories>$(SolutionDir)\Debug\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
          <AdditionalDependencies>$(SolutionDir)\..\platform\mmwlstudio\mmwlstudio.lib;$(SolutionDir)\..\..\control\mmwavelink\vs\$(Configuration)\mmwavelink.lib;%(AdditionalDependencies)</AdditionalDependencies>
        </Link>
      </ItemDefinitionGroup>
      <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
        <ClCompile>
          <WarningLevel>Level3</WarningLevel>
          <PrecompiledHeader>
          </PrecompiledHeader>
          <Optimization>Disabled</Optimization>
          <FunctionLevelLinking>true</FunctionLevelLinking>
          <IntrinsicFunctions>true</IntrinsicFunctions>
          <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_LIB;FIRMWARE_DOWNLOAD;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
          <SDLCheck>true</SDLCheck>
          <AdditionalIncludeDirectories>$(SolutionDir)\..\platform\mmwlstudio\;$(SolutionDir)\..\platform\mmwl_ftdi\;$(SolutionDir)\..\..\..\;$(SolutionDir)\..\..\..\firmware\radarss\;$(SolutionDir)\..\..\..\firmware\masterss\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
          <BasicRuntimeChecks>StackFrameRuntimeCheck</BasicRuntimeChecks>
        </ClCompile>
        <Link>
          <SubSystem>Console</SubSystem>
          <GenerateDebugInformation>true</GenerateDebugInformation>
          <EnableCOMDATFolding>true</EnableCOMDATFolding>
          <OptimizeReferences>true</OptimizeReferences>
          <AdditionalDependencies>$(SolutionDir)\..\platform\mmwlstudio\mmwlstudio.lib;$(SolutionDir)\..\..\control\mmwavelink\vs\$(Configuration)\mmwavelink.lib;%(AdditionalDependencies)</AdditionalDependencies>
        </Link>
      </ItemDefinitionGroup>
      <ItemGroup>
        <ClCompile Include="crc_compute.c" />
        <ClCompile Include="mmw_config.c" />
        <ClCompile Include="mmw_example.c" />
      </ItemGroup>
      <ItemGroup>
        <None Include="mmwaveconfig.txt" />
      </ItemGroup>
      <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
      <ImportGroup Label="ExtensionTargets">
      </ImportGroup>
    </Project>

    I tried to recompile it but it was stuck on this lane(else statement):

    clientCtx.comIfCb.rlComIfRead = rlsI2cRead;

    clientCtx.comIfCb.rlComIfWrite = rlsI2cWrite;

    I just simply commented it out in order to check what will happen and I was able to compile the program and run it.

    Then I wanted to catch data with DCA1000EVM_CLI_Control, so i have changed SOP mode to 011 and followed instructions from DCA1000EVM CLI Software User Guide but couldn't capture any data.

    My adc_data.bin file didn't update like it does when using mmWave Studio.

    Can you help me with this problem ?

    My goal it to create python app, which will be able to configure AWR2243Boost, and then capture data via DCA1000EVM

    Regards,

    Tetris

  • Hello Tetris,

    You can refer Studio CLI tool, which configures AWR2243 over SPI and captures ADC data via DCA1000EVM.

    https://dev.ti.com/tirex/explore/node?node=AK3GYIhDPkgp.R8qt-gVUg__Z2F8GEn__LATEST

    It has all the source code available for PC based, please explore this for your requirement.

    Regards,

    Jitnedra