Release Notes — CCStudio™ IDE v21.0.0

Service release

General Information

These release notes contain important information about CCStudio™ IDE v21.0.0 that may not be included in other product documentation. Please review this document before using this release.

CCStudio IDE v21.0.0 is a service release. For a summary of changes, see the v21.0.0 What’s New section below.

System Requirements

ⓘ Note

CCStudio IDE is a 64-bit application and will not run on 32-bit operating systems.

Windows
  • Windows 11 64-bit
  • Windows 10 64-bit
Linux
  • Ubuntu 26.04 64-bit
  • Ubuntu 24.04 64-bit
  • Ubuntu 22.04 64-bit
macOS
  • macOS 14 Sonoma
  • macOS 15 Sequoia
  • macOS 26 Tahoe
ⓘ Note

For more details on platform-specific requirements and installation instructions, refer to the CCStudio IDE User’s Guide.

CCStudio IDE v21.0.0 — What’s New

New Features
Issue Summary
EXT_EP-12145 Allow ability to select which debug probe support to install

The CCS 20 installer currently does not give an option to select which debug probe support to install. It installs everything.

EXT_EP-12354 Option to select and build multiple build configurations with one action

Ability to be able to select multiple (or all) build configurations for a project and build them with one project build action.

EXT_EP-12376 Request command line option to specify configuration directory to launch with.

Command line launch allows CCS Theia to be launched with a workspace by passing :- ccstudio --root-dir "%WSDIR%" request is to have an option to also pass the configuration directory i.e. ccstudio --root-dir "%WSDIR%" *--conf-dir "%CONFDIR%"*

EXT_EP-12456 Project view in target configs view

See projects and the related target configs in target configs view like in eclipse

EXT_EP-12964 Export and import archives of project

User should be able to export a project as a zip file and import zipped projects.

EXT_EP-13051 Watch view: Support expression values when exporting/importing to/from JSON text file

The Watch view has the option to import/export expression names from/to a JSON text file. This request is to also support expression values. Allow the user the option to include the values on export. Also allow the user to choose if they wish to import the names and also write the associated values stored in the JSON file. If there are no values in the JSON file then only the names will be imported.

EXT_EP-13158 Update clangd to version 21.1.0+

There appears to be some issues with the clangd version (19.1.2) that ships with CCS 20.4.0. Updating to clangd 21.1.0 seems to have resolved them.

EXT_EP-13242 Breakpoints should be resolved after adding source resolution hints

With current implementation, if a source breakpoint is set and then source resolution hints for that file is added, the breakpoints don't get enabled. This is because it is expected that source resolution hints to be added first before setting breakpoints. The breakpoints should get resolved and enabled after we add source hints.

EXT_EP-13260 Add option to use python in scripting console

Provide a python-based scripting console with the same feature-set as the existing JavaScript-based console.

EXT_EP-13261 Remove the mkhex4bin utility

The mkhex4bin in ccs/utilts/bin is no longer supported and is replaced with objcopy that comes from the compiler. It should be removed from the product.

EXT_EP-13270 Using Python Scripts from Scripts dropdown and Script Command view

Using Python Scripts from Scripts dropdown and Script Command view

EXT_EP-13273 Add the ability to rename a project to the Project MCP server

Today there is no tool available to rename a project. An agent may try to do this by modifying the project files directly but that can cause issues. Expose a call to do this.

EXT_EP-13398 Add Codex Agent support

Add the necessary agent configuration files for Codex, update the AI configuration view to allow user to configure this agent, and download the extension.

EXT_EP-13436 Need APIs for changing optimization settings

Need APIs for changing optimization settings. The default is fften it is -o2 which can be problematic for trying to debug as variables will be optimized out and code can move around. This is especially important for migration as it is desired to turn off optimization to start with, get things working and then set it to the level that the user had before. Compiler *Optimization **Select optimization paradigm/level (-O)

EXT_EP-13437 Need APIs for changing Library/search path options

When performing migrations for larger projects, it may be needed to add libraries and the associated library and header search paths to the project. *Compiler **Include Options ***add items to the search path *Linker **File Search Path ***add items to the library list ***add paths to the library search list

Bug Fixes
Issue Summary
EXT_EP-11476 Conditional watchpoint is ignoring condition and always triggers

Conditional watchpoint is ignoring specified trigger condition and instead always triggers.

EXT_EP-12409 Rename project results in duplicate project

When renaming a project you can end up with 2 projects. One with the original name and one with the new name. When I have seen this it is typical that the new project will have most of the content but the old name will still have a linked file.

EXT_EP-12431 Real-time memory access not working for some Cortex-R devices when XDS560v2/XDS200 debug probes are used

Real-time memory access not working for some Cortex-R devices when XDS560v2 and XDS200 debug probes are used. XDS110 and XDS100v2 are unaffected. Issue was discovered using an AWR2944, and reproduced using a similar target (TPR12). Note that on these targets, it is required to make a change to the device xml file to enable real-time memory access for the Cortex-R5.

EXT_EP-12769 Renaming project fails, shows new name and then changes to display old name

This happens from time to time. May be related to having multiple folders in a workspace but cannot confirm that. Sometimes when you rename a project it renames it but then starts showing the old name. If you attempt to rename again the dialog that opens will show the new name, attempt to rename says the project with that name exists. If you remove the folder from the workspace and then add it again you will see the correct names but then after project discover has happened it shows the old name.

EXT_EP-12878 Project debug doesn't work for Am62A

Project name: uart_echo_am62ax-sk_mcu-r5fss0-0_nortos_ti-arm-clang Project debug doesn't work, I get a message saying 'no compatible core found'. Seems like some sort of mismatch between core names. From the ccxml file: ```                               ``` Looks like Debug Server is returning A53SS0_CORE0, while Project Server is returning A53SS0_CORE0_0. Not sure which one is correct, need to investigate.

EXT_EP-12952 source mapping dialog mismatch between CPU name not CORE name

The Source Lookup/Mappings dialog always looks empty.  This looks like it is because it is using a different CORE/CPU name. The launch.json looks populated.

EXT_EP-12994 Builds will fail on Windows with a Readdir() error if the workspace folder contains unicode characters

The underlying issue is that gmake on windows calls an API readdir() which does not support unicode.

EXT_EP-13027 Project deletion may fail if files are currently in use

Project deletion may fail if files are currently in use: # Import the attached project # Try to delete it as soon as possible # -> deletion will intermittently fail with various unhandled exceptions logged in CCS Server log, the project will remain in workspace, and it can be deleted later This happens because many asynchronous jobs are running right after an import, to auto-migrate the project, to generate clangd database, etc. We should try catching exceptions when deleting a project, not even necessary to log them. And automatically attempt to delete it again repeatedly (with a delay between each attempt and with limited attempts). If deletion still fails after a certain number of attempts, then log the last error only, and show an error notification to user in the IDE.

EXT_EP-13059 Disassembly view: UI issues with Hardware Breakpoints

There are some usability issues with hardware breakpoints in the Disassembly view 1) When hardware breakpoint resources run out, a greyed out icon appears when attempting to set a hardware breakpoint on a new line. This is expected. When a previously set hardware breakpoint is removed, one of the greyed out icon will turn red as expected, indicating that the hardware breakpoint resource was freed up and used for a line that previously had a greyed out icon. While this breakpoint appears valid (program will halt on this line), the icon is missing the "H" indicator for a hardware breakpoint. Also, when checking the breakpoint in the Breakpoints view, it is not possible to get the properties of the breakpoint. 2) For both greyed out breakpoints and breakpoints missing the "H" icon, it is not possible to click on it again in the Disassembly view to remove the breakpoint. When clicking on a greyed out icon, it simply sets an addition greyed out breakpoint on the same line. For a breakpoint missing the "H", it will set an additional proper hardware breakpoint (with the "H") on the same line. This "proper" breakpoint then can be removed by clicking on it again while the "invalid" one continues to remain. Note that #2 was not an issue with CCS 20.3.1

EXT_EP-13060 Registers view: Unable to copy just the highlighted value of a line

It is not possible to copy just the highlighted value of a line (such as just the Value of a register). It always copies the entire line (including hidden column content).

EXT_EP-13081 Compiler/Product discovery will hang CCS if it is interrupted

Compiler/Product discovery will hang CCS if it is interrupted during the discovery process. Steps to reproduce: 1) Under "General -> Compilers" in the CCS settings, Press the refresh button for the compiler discovery. 2) During the discovery process, interrupt the process by clicking on the "General -> Compilers" node in left panel. 3) CCS will hang.

EXT_EP-13121 Watching a register from the register view does not properly handle group names

When you select a register in the registers view and the right click and select to watch it will add it to the watch view. However there are a couple of issues if the register is in a group. First it does . when it needs to do _ Second if the group has a space in it you need to do '_'

EXT_EP-13243 Waterfall graph - does not infer buffer size and data type properly

User has to set the properties themselves

EXT_EP-13256 MacOS uninstaller leaves behind a lot of files

After running the CCS uninstaller, many files are left behind on MacOS.

EXT_EP-13342 Sporadic issue where unable to delete projects/files

Unable to delete projects/files sometimes. Restarting CCS using the Help bar doesn't work. Need to close + reopen CCS.

EXT_EP-13354 C29 hardware breakpoints set on any line with multiple parallel instructions in the Disassembly view can be restricted

Hardware breakpoints are being incorrectly filtered out while being created.

EXT_EP-13375 Unable to close CCS if another instance of the same CCS installation is running

Unable to close CCS if another instance of the same CCS installation is running and using the same workspace folder that the new instance is trying to use. It simply gets stuck at the initialization phase while periodically popping up a message that "The current workspace appears to be in use by another IDE instance". Attempts to close the IDE fail. So does attempting to "Reload Window". This happens even if the first instance is closed. Terminating the process via Task Manager (Windows) is required.

EXT_EP-13434 Cannot enable ticlang compiler's '-Werror' flag in .projectspec

TIClang's '-Werror' compiler flag maps onto two separate build-options - one that is of string-list type (which is meant to handle the flag with an argument, e.g. '-Werror=type') and one that is of a boolean type (meant to handle just '-Werror' without argument). CCS currently always maps this flag onto the string-list type option, so it is currently impossible to just enable the '-Werror' boolean flag in a .projectspec.

Previous Releases

Full release notes for earlier versions are available as individual documents. Each page includes a complete What’s New summary, known issues, and a link to the bug-fix tracker for that release.

📄 View previous release notes
Version Type Highlights Release Notes
v20.5.1 Feature Fixes to AI Integration features released in CCS v20.5.0 View notes
v20.5.0 Feature AI Integration features: getting started UI, MCP servers, graph improvements for FFT, build performance improvements, scripting improvements View notes
v20.4.1 Service Debugger fixes for M33 breakpoints, daisy-chain hardware breakpoints, and full verification mismatch View notes
v20.4.0 Feature Theia IDE core v1.64.1; improved project wizard; macOS 26 support; IDE & debug enhancements; Energia support removed View notes
v20.3.1 Service Secure Debug Manager fix (Windows); MSPM33 macOS flash loader; Arm Clang v4.0.4.LTS; J-Link v8.7.0; device support updates View notes
v20.3.0 Feature Graph view; Python scripting; ARM Advanced Features; new device support (CC35xx, MSPM33, UCD3138R); SysConfig v1.25; C6000 compiler v8.5.0.LTS View notes
v20.2.0 Feature Theia IDE core v1.58; AI/code assistant support; debug view improvements; assembly syntax highlighting; JRE v21; SysConfig v1.24 View notes
v20.1.1 Service Watch/Variable view enhancements; clangd support improvements; CC13x4 program load fix; Windows IDE update fix View notes
v20.1.0 Feature IDE feature improvements; macOS Arm native startup; XDS110 firmware fixes; device support updates (AM62L, xWRL68xx, MSPM0C110x); TI ARM Clang v4.0.2 View notes
v20.0.0 Feature First full-featured release based on Theia IDE; replaces the Eclipse-based v12.x release; new views (Modules, Stack Usage, Memory Map, GEL); broad device family coverage View notes

All Open Issues

The following JIRA query returns all open issues across the CCStudio IDE product areas, including Theia IDE, debug and trace, Resource Explorer, and SysConfig:

Components

For details on all components included in this release, please review the manifest: