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
CCStudio IDE is a 64-bit application and will not run on 32-bit operating systems.
- Windows 11 64-bit
- Windows 10 64-bit
- Ubuntu 26.04 64-bit
- Ubuntu 24.04 64-bit
- Ubuntu 22.04 64-bit
- macOS 14 Sonoma
- macOS 15 Sequoia
- macOS 26 Tahoe
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:
```
|
|
| 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 |
|
| 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: