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.

CC1312R: Create XBAL object object failed: Debug interface is locked

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

Tool/software:

Hello,

We are using a launchpad LaunchXL-CC1312R1 to program devices with CC1312R1 in Production. Programming sequence:

1. Mass erase
2. Program Testing firmware --erase all
3. Program Bootloader (Unsecure) for Testing app
4. Program Production firmware with --erase all flag
5. Program Bootloader for Production app

The testing equipment contains a launchpad LaunchXL-CC1312R1 where the part with XDS100 is connected to Device Under Test (DUT) over 2-pin cJTAG.

This has been working for over 2 years, but we have a reoccurring issue which tells:

Connected over 2-pin cJTAG.

Create XBAL object failed: Debug interface is locked.

XBAL EB pointer is null.

ERROR: XBAL EB pointer is null.

CLI commands used:

  • SmartRF\bin\srfprog.exe --target 'soc(XDS-L2100AWL,CC1312R)' --erase forced
  • SmartRF\bin\srfprog.exe --target 'soc(XDS-L2100AWL,CC1312R)' --erase all --program all --reset none --file C:\Users\asdf.bin --address 0x0
  • SmartRF\bin\srfprog.exe --target 'soc(XDS-L2100AWL,CC1312R)' --program all --file C:\Users\asdf-bootloader1.hex
  • SmartRF\bin\srfprog.exe --target 'soc(XDS-L2100AWL,CC1312R)' --erase all --program all --reset none --file C:\Users\asdf-prod.bin --address 0x0
  • SmartRF\bin\srfprog.exe --target 'soc(XDS-L2100AWL,CC1312R)' --program all --file C:\Users\asdf-bootloader2.hex

The issue usually occurs on --erase forced, but sometimes it bricks up completely. On such cases, restart of DUT, power supply, or launchpad does not help. 

When it bricks completely, tried using SmartRF Flash Programmer 2 and Uniflash separately, was not able to Read Target Device under Memory->Memory Browser.

What are the conditions:

  • Device is powered up
  • Device communicates over the same interface over COM port when application is launched
  • The case resolves after a Windows restart, or after some time, but only for 1 single time.
  • Repeated on Windows 10 and Windows 11.
  • Repeated on multiple Launchpads
  • Repeated on multiple Testing Equipments
  • Repeated with multiple flexi cables
  • Using Texas Instruments SmartRF Flash Programmer 2 v1.8.2-windows over the CLI

  • Just wanted to clarify a couple of things:

    • In The Bootloader & CCFG, "Lock debug interface" setting is ENABLED.
    • cJTAG is connected with these 5 pins: Reset, TMS, TCK, TDO, TDI.
    • Devices are powered up from external power supply, not from the Launchpad
    • After flashing the firmware in the previously described sequence, I try to perform a forced erase. However, on some cases it fails, sometimes device gets stuck, and neither device Restart, nor changing of Launchpad does not help.
  • Hi Mindaugas,

    1. When you say it's been working for over 2 year, what changed recently? Did you update SmartRF Studio to a newer version?

    2. Can you post your full CCFG configuration?

    Cheers,

    Marie H

  • Hi Marie,

    I believe I found the issue: GND and VTref (+3.3V) pins on the Launchpad were not connected to Device. Even though, GND is shared (from USB and power supply for Device), but JTAG needs Target Voltage reference.

    When Launchpad target supply was set to power through XDS110, then programming worked, but was not really stable, issue described in the original post occurred from time to time. However, when I set Launchpad pins to power only from external power supply only, it became clear, that this "XBAL EB pointer is null" issue was reproduced, even though the DUT was powered by external supply.

    So I connected Launchpad +3.3V and GND to DUT, and the issue is resolved.

    So to summarize, it's important to connect not only 10-pin cJTAG header, but Target device power supply to launchpad as well: TMS, TCK, TDO, TDI + VTref, GND.