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.

CCS/IWR1443: generated .bin file is not working

Part Number: IWR1443
Other Parts Discussed in Thread: UNIFLASH,

Tool/software: Code Composer Studio

Hello together,

I'm currently working with IWR1443 on my own PCB design. 

I have programmed a little function (in main.c) with which you can teach ranges. An object inbetween the teached range and the device is detected and turns on a LED on the PCB. I use a teach-button which is connected to GPIO_1 (like the "sensor_stop / _start-button" on the EVM).

I am hardcoding the device config like explained in this thread:
 

Hard-coding the config is working without problems !

The teach-function and everything else is working without problems when I'm flashing the "xwr14xx_ccsdebug_mss.bin" file and starting my sensor through CCS. 

The teach-function no longer works, when I'm flashing the generated "xwr14xx_mmw_mss.bin" instead of the "xwr14xx_ccsdebug_mss.bin".

After flashing the device with "xwr14xx_mmw_mss.bin", power off, removing jumper SOP2, power on, the sensor starts chirping but when pressing the button, there is no reaction anymore.
It ALWAYS worked and is working when I'm using it with CCS together (flashed the "xwr14xx_ccsdebug_mss.bin").

I was using SDK v1.1, then switched to SDK v1.2 because of hardcoding the configs. Is there anything important to do when switching to another SDK version or is it just replacing the SDK folder with the new one?

I use CCS v7.4 and Uniflash v4.2.

So can anyone pleas help me to solve this issue?

Thanks in advance,
Jan

  • Hello Jan,

    In general, moving to a newer SDK version would also require changing all of the tool versions, include paths, and libraries in the CCS project to match the new SDK version. It may be easier and cleaner to create a new workspace, import the new project from the TI Resource Explorer that matches the SDK version and then change out or re-modify the source code files that were previously modified.

    Also, running the CCS debug version vs. running the flashed bin file version from the same build should produce the same results. Just to confirm, have you tried using the MSS .bin and .xer4f binaries generated from the exact same build and you still see the different results?

    Also, when you re-flash with the generated MSS .bin file, can you confirm that you are also flashing the same BSS bin file?

    Regards,
    John
  • Hello John,

    I have now made a new workspace, downloaded the project through the Resource Explorer Cloud version and Dropbox (because the Resource Explorer in CCS is offline & Yes I have the latest version of Tirex) and imported it into my new workspace. Did modify the main.c, sensor_mgmt.c and detected_obj.h (added a new variable to MmwDemo_detectedObj_t).

    I flash the "xwr12xx_xwr14xx_radarss.bin" file from <C:\TI\mmwave_sdk_01_02_00_05\firmware\radarss>

    When I try it with the "xwr14xx_ccsdebug.bin"  file, everything works fine. The .xer4f file is from <C:\Users\---\Downloads\mmw_mss_14xx\Debug> (the downloaded project).
    Then I flash the  generated "xwr14xx_mmw_mss.bin" file also from <C:\Users\---\Downloads\mmw_mss_14xx\Debug>. After that the teach button no longer works.
    I have no idea what I'm doing wrong. 

    I dont know anything about a BSS bin file, I'm just flashin radarss.bin and mss.bin.

    Regards,
    Jan

  • Hi Jan,

    The BSS is just another name for RadarSS. Can you send a pic of Uniflash when the xwr14xx_mmw_mss.bin is downloaded? When you are flashing xwr14xx_mmw_mss.bin to MSS, are you still specifying the xwr12xx_xwr14xx_radarss.bin in the RadarSS field? Basically I want to make sure that whenever you flash a new MSS bin file you also always specify the RadarSS bin file since Uniflash will erase the entire flash memory by default including any previously flashed RadarSS bin file.

    Regards,
    John
  • Hello John,

    here the pic after everything is flashed.

    The radarss.bin is staying in the Meta Image 1 field when I flash a new mss.bin file. I think this is okay because the radarss.bin isn't always changing like the mss.bin file.

    I have also tried it specifying the radarss.bin when I flash a new mss.bin but no success.

    I have also tried to turn on a LED in the function which should be called when I press the button (interrupt), but also no success. (function is MmwDemo_switchPressFxn() in sensor_mgmt.c)
    When I set a breakpoint in this function of the interrupt and use my sensor with the ccsdebug_mss.bin file, the breakpoint stops the programm. -> sensor is working fine. 

    Regards,
    Jan

  • Hi Jan,

    After flashing the xwr14xx_mmw_mss.bin file, removing the SOP2 jumper, and power cycling the EVM, have you tried pressing the NRST button on the EVM to reset it before trying the GPIO1 button? If not, could you try it out?

    Regards,
    John
  • Hey John,

    Yes, I have tried it but no success.

    Regards,
    Jan

  • Hi Jan,

    I believe your current code is based on the mmWave SDK 1.2 mmw demo. Please tell me if otherwise. As pressing the button generates an interrupt, I am wondering if the interrupt configuration or timing/length of code inserted may have something to do with the issue. Also, it would be useful to verify that the PINMUX configuration is correct in both cases and thus not causing the issue.

    I would suggest the following debug strategy to attack the issue in an incremental/systematic fashion.

    1. Create a new CCS workspace for debug purposes and import and build the mmWave SDK 1.2 xWR14xx mmw demo project with no modifications

    2. Verify that the GPIO_1 button works successfully to start/stop the demo both when using CCS and when running the flashed bin file (maybe look at UART output or LED?)

    3. Start adding your code changes one small change at a time starting with the smallest/least impact changes first (like changing the LED when the button is pressed) and verify at each point that the GPIO_1 button is still working correctly both when using CCS and when running the flashed bin file

    4. Continue adding your code changes until the GPIO_1 button stops working which will give an idea of which code change may be causing the different behavior when using the flashed bin file

    Regards,
    John
  • Hey John,

    I will try this and get back to you !

    Where can I see the PINMUX config in both cases? All i changed is configuring the pin N4 as GPIO_0 & setting GPIO_0 as Output.

    Thanks for your help !
    Jan
  • Also I get this warnings, when building the project.
    Can this be the problem?

  • Hey John,

    I have tried it out to make a new workspace and imported the project without modifications.
    When I start the sensor through CCS the start/stop works fine.
    When I flash the generated .bin file instead of ccsdebug.bin the button no longer works.

    This is so strange ...

    Regards,
    Jan
  • Hi Jan,

    To create the project in CCS are you importing the 14xx mmw demo projectspec directly from the downloaded (and unmodified) mmWave Industrial Toolbox following the instructions at dev.ti.com/.../ )? If not, can you try that method?

    Also, what version of the Industrial Toolbox are you using?

    Regards,
    John
  • Hello,

    I have never imported a projectspec ?

    I have downloaded the industrial toolbox v2.5.2 to <C:\TI>.

    My Resource Explorer in CCS doesn't work, it's always offline, so I had to download the 14xx mmw demo over the Cloud app and Dropbox. After that I imported the 14xx mmw demo into my workspace in CCS. 

    In the link you provided, there is no instruction about any projectspec.

    Regards,
    Jan

  • Hi Jan,

    Importing a CCS Cloud project into the desktop version of CCS may cause build issues.

    The instructions at that link use the Resource Explorer in CCS to download the Industrial Toolbox and then import the project into CCS which is using the projectspec under the hood. If you have already downloaded the Industrial Toolbox to "c:\ti" then you can just go to "Project->Import CCS Projects" in CCS and then browse to C:\ti\mmwave_industrial_toolbox_2_5_2\labs\demo0004-mmwave-sdk. Click Finish to import the projectspec and create the project. Can you create a new workspace and try that method to create the project to see if it changes the build warnings, etc.?

    Regards,
    John
  • Hey John,
    Okay I'm trying it at the moment and I can create the workspace and it doesn't show warnings.
    Will try everything now again ( building, flashing, ....)
  • I have now tried it but no success !

    I have flashed the radarss.bin (from SDK1.2) and the xwr14xx_mmw_mss.bin file (tried debug and release) from my workspace, but the start/stop don't works!

    It works when I flash the ccs_debug.bin and start the sensor through CCS.

  • Hi Jan,

    Inside the mmWave SDK 1.2 there are precompiled binaries for the mmw demos. You can find the 14xx mmw binaries at:
    C:\ti\mmwave_sdk_01_02_00_05\packages\ti\demo\xwr14xx\mmw\xwr14xx_mmw_demo_mss.xer4f
    C:\ti\mmwave_sdk_01_02_00_05\packages\ti\demo\xwr14xx\mmw\xwr14xx_mmw_demo_mss.bin

    Can you try flashing the precompiled bin file to see if the GPIO_1 button works for starting/stopping the demo? If it does, then that would mean that there is still some difference between the bin file you generated from the (unmodified) 14xx mmw project and the precompiled one.

    Regards,
    John
  • Hi Jan,

    Just checking if the issue was resolved or if more support is required?

    Regards,
    John
  • Hello John,

    I am currently working on my Bachelor thesis and don't have that much time, sorry. 

    I have tried what you have suggested but with no success. When I flash the precompiled, the sensor doesn't even start chirping. 

    Do you think it would be useful to try it with another computer?
    Or any other idea?

    Regards,
    Jan

  • Hi Jan,

    If the pre-compiled binaries in mmWave SDK 1.2 are not working, then that points to a more basic issue.

    Can you confirm that you are using an IWR1443 ES2.0 device? You can check the marking on the chip to make sure it matches Figure 1 in the following IWR1443 Errata doc. The most important part is the "964D" in the lower-left.
    www.ti.com/.../swrz074a.pdf

    Regards,
    John
  • Hello John,

    Yes, I can confirm that Iam using the ES2.0 device. 

    Do the precompiled binaries also hardcode the configuration? 
    Maybe the radar doenst start chirping because the precompiled .bin files dont configure the device. 

    Regards,
    Jan

  • Hi Jan,

    The precompiled binaries do not hard-code or automatically start the chirp configuration. You would need to configure/start the sensor using the mmWave Demo Visualizer.

    Regards,
    John
  • Hello John,

    I can't use the Demo Visualizer because I just have the JTAG interface for the debugger

    Regards,
    Jan
  • Hi Jan,

    At this point I would recommend developing and testing your software on the IWR1443BOOST EVM since it is a supported platform and then use it as a working reference to debug your custom PCB.

    Regards,
    John