CCSTUDIO-THEIA 20.4.1/20.5.0.28: AddCIOBreakpointAfterLoad=0 ignored at debug startup — CIO breakpoints always allocated regardless of launch.json setting

XMLWordPrintable

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Medium

      Problem Description

      In CCS Theia 20.4.1 and 20.5.0.28, the AddCIOBreakpointAfterLoad setting from launch.json is not applied at debug session startup. Even when CIO is explicitly disabled in the project's Debug settings (which correctly writes <curValue>0</curValue> to launch.json), the debugger starts each session with CIO enabled, consuming 1–2 of the C28x CPU's two available hardware analysis units (AU1/AU2).

      This causes:

      • Loss of hardware breakpoints — users debugging from flash are left with 0 or 1 usable breakpoints
      • Single-step failures due to exhausted hardware breakpoint resources
      • Inconsistent behavior: the .out file and launch.json are correct, but the debugger ignores the configuration

      Confirmed by customer hardware testing: runtime core Properties → Debug → Program/Memory Load Options shows "Enable CIO function use" checked even when launch.json contains AddCIOBreakpointAfterLoad=0.

      Steps to Reproduce

      1. Create a project targeting F2800157 (or any C28x device) executing from flash
      2. In project Debug settings, disable "Enable CIO function use (requires setting a breakpoint)"
      3. Verify launch.json contains <curValue>0</curValue> for AddCIOBreakpointAfterLoad — it will be correct
      4. Start a debug session
      5. Right-click the core in the Debug view → Properties → Debug → Program/Memory Load Options
      6. Observe that "Enable CIO function use" is checked despite being disabled in project settings
      7. Attempt to set two hardware breakpoints — at most one will be available

      Observed Behavior

      • launch.json correctly reflects the disabled CIO setting
      • Debugger ignores launch.json at session startup and enables CIO unconditionally
      • Runtime core properties show CIO as enabled
      • Maximum one hardware breakpoint available (instead of two)
      • Single-stepping frequently fails with "no breakpoint available" error

      Expected Behavior

      The AddCIOBreakpointAfterLoad=0 setting in launch.json should be read and applied at debug session startup. When CIO is disabled:

      • No CIO breakpoints should be allocated at C$$IO$$ or C$$EXIT
      • Both hardware analysis units (AU1 and AU2) should be available for user breakpoints
      • Runtime core properties should reflect the configured state

      Workaround

      Set a breakpoint at main(), then after the debugger halts:

      1. Right-click the core in the Debug view → Properties → Debug → Program/Memory Load Options
      2. Uncheck "Enable CIO function use" and press Save

      This correctly frees both hardware breakpoints for the remainder of the session but requires a manual step on every debug run.

      Versions Affected

      • CCS Theia 20.4.1 — reproduced
      • CCS Theia 20.5.0.28 — reproduced
      • Regression introduction point (earlier versions) not yet confirmed

      Device and Tool Information

      • Part: F2800157 (C28x)
      • Debug probe: Texas Instruments XDS110 USB Debug Probe
      • Execution context: Flash (hardware breakpoints required; software breakpoints not available in flash)

      Additional Context

      • Customer has offered to share launch.json privately (contact via E2E thread or fleenor@ti.com)
      • C28x CPU provides exactly two hardware analysis units; CIO can consume 1–2 of these when enabled
      • A similar regression was previously fixed in CCS v11.1 (ERAD module ownership seized by debugger); this may follow the same pattern

            Assignee:
            TI User
            Reporter:
            TI User
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:

                Connection: Intermediate to External PROD System
                EXTSYNC-6677 - CCSTUDIO-THEIA 20.4.1/20.5.0.28: Ad...
                SYNCHRONIZED
                • Last Sync Date: