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.

CC2652R7: File Loader: Memory write failed: Timed out waiting for target flashloader to execute command

Part Number: CC2652R7
Other Parts Discussed in Thread: UNIFLASH, CC2652R,

When issuing a load operation in UniFlash v6.4.0 (GUI or CLI) this failure is returned:

info: Cortex_M4_0: Command=20-- addr=0x000AFF54 -- length=0x00000050

error: Cortex_M4_0: File Loader: Memory write failed: Timed out waiting for target flashloader to execute command.

Finished 99% 

Failed

Device is attempted to be programmed via a Blackhawk XDS200.

I have previously experienced sensitivity towards the JTAG frequency during a MassErase, but adjusting the JTAG frequency does not change the result (various values between 100KHz-1.2MHz tried)

If I load a similar program compiled for a CC2652R1 to the CC2652R7 device, no issues are experienced.

Config file used:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configurations XML_version="1.2" id="configurations_0">
<configuration XML_version="1.2" id="Texas Instruments XDS2xx USB Debug Probe_0">
        <instance XML_version="1.2" desc="Texas Instruments XDS2xx USB Debug Probe_0" href="connections/TIXDS2XXUSB_Connection.xml" id="Texas Instruments XDS2xx USB Debug Probe_0" xml="TIXDS2XXUSB_Connection.xml" xmlpath="connections"/>
        <connection XML_version="1.2" id="Texas Instruments XDS2xx USB Debug Probe_0">
            <instance XML_version="1.2" href="drivers/tixds560icepick_c.xml" id="drivers" xml="tixds560icepick_c.xml" xmlpath="drivers"/>
            <instance XML_version="1.2" href="drivers/tixds560cs_dap.xml" id="drivers" xml="tixds560cs_dap.xml" xmlpath="drivers"/>
            <instance XML_version="1.2" href="drivers/tixds560cortexM.xml" id="drivers" xml="tixds560cortexM.xml" xmlpath="drivers"/>
            <property Type="choicelist" Value="2" id="The cJTAG / SWD Features">
                <choice Name="cJTAG (1149.7) 2-pin advanced modes" value="enable">
                    <property Type="choicelist" Value="5" id="The Target Scan Format"/>
                </choice>
            </property>
            <property Type="choicelist" Value="0" id="The JTAG TCLK Frequency (MHz)">
                <choice Name="Fixed with user specified faster value" value="SPECIFIC">
                    <property Type="stringfield" Value="1.2MHz" id="-- Enter a value from 0.5MHz to 20.0MHz"/>
                </choice>
            </property>
            <property Type="choicelist" Value="2" id="Debug Probe Selection">
                <choice Name="Select by serial number" value="2">
                    <property Type="stringfield" Value="S200-000FD2053545" id="-- Enter the serial number"/>
                </choice>
            </property>
            <platform XML_version="1.2" id="platform_0">
                <instance XML_version="1.2" desc="CC2652R7_0" href="devices/cc2652r7.xml" id="CC2652R7_0" xml="cc2652r7.xml" xmlpath="devices"/>
            </platform>
        </connection>
    </configuration>
</configurations>

Thanks in advance.

  • Hi Morten,

    I will once again ping the Tools Team to comment on this thread as a follow-up to the previous E2E inquiry.  I do not expect code developed for the CC2652R1 to correctly operate on a CC2652R7 due to changes in the TI Driver Libraries.

    Regards,
    Ryan

  • I read through the other thread let me see if I can summarize:

    • Mass erase prior to flashing is fine
    • Flashing is fine
    • Mass erase after flashing is OK if:
      • XDS200 TCLK < 500KHz
      • XDS110 TLCK < 4 MHz

    Is that correct?  I ask as it conflicts a bit with this:

    I have previously experienced sensitivity towards the JTAG frequency during a MassErase, but adjusting the JTAG frequency does not change the result (various values between 100KHz-1.2MHz tried)

    I saw this in the other thread:

    I did some tests with a XDS110, and by using that programmer the MassErase runs very stable without any locking. Furthermore, with the XDS110, I'm able to turn up the JTAG frequency to around 4MHz before I get connection problems (with XDS200 it happens already at 1.4 MHz)

    Then I turned down the JTAG frequency for the XDS200, and it seems that around 400-500 KHz I have a stable MassErase. This will of course slow the MassErase execution, but it does not appear to be much.

    Would you be able to give a newer version of UniFlash a try?  There were updates to the flash loader that would impact CC2652R7.

    UniFlash 7.0 is the latest and there will be a 7.1 very shortly.

    https://www.ti.com/tool/download/UNIFLASH

    Regards,

    John

  • Hi John

    Thanks a lot for your reply - I'll try to clarify a bit:

    I have 2 setups:

       - One desktop arrangement (Blackhawk XDS200 --> CC2652R7)

       - A flashing station with 3 x Blackhawk XDS200 flashing 3 boards with CC2652R7.

    Both setups have problems with performing Mass Erase without locking the device as reported in: CC2652R7: Bricked after MassErase: Error -241 @ 0x0. A router subpath could not be accessed. A security error has probably occurred. Make sure your device is unlocked - Bluetooth forum - Bluetooth®︎ - TI E2E support forums

    On the desktop setup I have a stable Mass Erase if TCLK < 400 KHz. 

    On the flashing station the Mass Erase have never worked without locking the device (tried down to 100KHz)

    On the desktop setup I can flash a device (up to 1.2 MHz TCLK ) without initial Mass Erase, but occasionally (~10%) I experience failed flashing with the error mention in the subject of this thread. I guess that is due to missing Mass Erase, but I don't know why it only occurs sometimes.

    On the flashing station, flashing always results in the error mention in the subject.

    If I change the XDS200 in my desktop setup to a XDS110, everything looks fine up to 4.2 MHz TCLK.

    I just upgraded my desktop setup to UniFlash v7.0, but I still get locked devices above 400KHz TCLK.

    I plan to make trials with changing to a XDS110 in the flashing station by beginning of next week.

    Any other investigation ideas will be highly appreciated.

  • Hey Morten,

    I still highly recommend that a SIMPLELINK-2-4GHZ-DESIGN-REVIEWS be submitted to ensure that your hardware is capable of performing at its maximum capacity.  Perhaps it would also help to receive images of your setup to further understand connections, cable lengths, etc.

    Regards,
    Ryan

  • Hi Morten,

    I will try to set up a similar environment and see if I can reproduce the issue. I have a BH XDS200 but not the CC2652R7. I have ordered a CC2652R7 LP and once it comes in, I will try connecting it with my BH XDS200 and see how it goes. The LP may take some time to get to me so it may be a few days.

    Thanks

    ki

  • Thanks for your inputs. I'll discuss the option of running a design review with our development team and share an update after tests on Monday.

    Have a nice weekend.

  • I will try to set up a similar environment and see if I can reproduce the issue. I have a BH XDS200 but not the CC2652R7. I have ordered a CC2652R7 LP and once it comes in, I will try connecting it with my BH XDS200 and see how it goes.

    I received my CC2652R7 LP today. I connected it to my Blackhawk XDS200 and have it a try. No issues with flashing or mass erase with UniFlash 7.0. I also tried from UniFlash CLI. Again it all worked fine. I am able to mass erase, then flash, then mass erase again. The TCLK for the XDS200 is the default 10MHz.

    There must be some issue with your environment.

    One thing I wanted to try was to flash your program. Would you be able to share it with me? Please start a private E2E conversation with me if you wish ti share privately.

    Thanks

    ki

  • Hi Ki

    Unfortunately our company policy does not allow me to share the .hex file. But if you are able to conduct mass erases without locked devices, the root cause must be related to my setup/design.

    The XDS110 is performing very well in the production environment. Both mass erase and flashing of R7 devices can be done without any failures.

    We have decided to shift to XDS110's for now and investigate in parallel how the design is impacting the XDS200 performance.

    Thanks for checking with a reference setup.

  • Understood. Since I can still mass erase after flahing the device without having to lower TCLK at all, it appears that the root cause is something related to your local environment. 

    Perhaps the BH XDS200 may be more "sensitive" (for a lack of a better word) than the XDS110, making it less robust in regards to connection stability. This theory coul have some merit since we recently have also heard from other users who experienced various connection instability with their BH XDS200 setups.