Code Composer Studio is an integrated development environment (IDE) that supports TI’s Microcontroller and Embedded Processors portfolio. Code Composer Studio comprises a suite of tools used to develop and debug embedded applications. It includes an optimizing C/C++ compiler, source code editor, project build environment, debugger, profiler, and many other features. The intuitive IDE provides a single user interface taking you through each step of the application development flow. Familiar tools and interfaces allow users to get started faster than ever before. Code Composer Studio combines the advantages of the Eclipse software framework with advanced embedded debug capabilities from TI resulting in a compelling feature-rich development environment for embedded developers.
2.1. System Requirements¶
|Minimum||4GB||2.5GB||2.0GHz single core|
It is strongly advised to have a system that exceeds the recommended requirements. While Code Composer Studio will run on a system that meets the mininum requirements, the performance will likely be poor.
2.1.2. Operating System¶
Please note that Code Composer Studio is a 64bit application and thus will not run on 32bit operating systems.
- Windows 10 64bit
- Windows 8 64bit
- Windows 7 64bit
Supported distributions include:
- Ubuntu 20.04 64bit
- Ubuntu 18.04 64bit
- Ubuntu 16.04 64bit
Code Composer Studio will run on other distributions but these are the officially supported and tested distributions.
More information on installation instructions as well as debug probe and device support is available in the Linux Host Support page.
Code Composer Studio device support on macOS is limited to microcontrollers (MSP, C2000, SimpleLink, Tiva and Hercules) and does not include processors (Sitara, DSP, KeyStone, mmWave).
Each Code Composer Studio release is validated against a set of macOS releases. This release was validated with:
- macOS 11 (Big Sur)
- macOS 10.15 (Catalina)
- macOS 10.14 (Mojave)
- macOS 10.13 (High Sierra)
More information on installation instructions as well as debug probe and device support is available in the macOS Host Support page.
Code Composer Studio is based on the Eclipse open source software framework. Hence understanding some of the basic concepts of Eclipse will lead to a better understanding of Code Composer Studio. Some of the more commonly referenced concepts are described below.
The Workbench refers to the main user interface. The Workbench contains all the various views and resources used for development. When the Workbench is launched, the first dialog prompts for location of workspace. After the workspace location is chosen, a single Workbench window is displayed. A Workbench window offers one or more perspectives.
Multiple Workbench windows can be opened using the Window → New Window menu. While each Workbench window can differ visually (arrangement of views, toolbars and such), all windows refer to the same workspace and the same running instance of Code Composer Studio. If a project is opened from one Workbench, that same project will be present in all the Workbench windows.
The workspace is the main working folder for Code Composer Studio. The workspace stores references to all projects even if the projects themselves do not physically reside inside the workspace folder. The default location of new projects will be within the workspace folder. Once a project has been added to the workspace, it will be visible in the Project Explorer view.
Code Composer Studio will prompt for the workspace folder location when you launch the application. It is possible to specify to use the selected folder as the default folder to avoid being prompted in the future
The workspace folder is also used to store user information such as user interface preferences and settings.
Workspaces are user specific and are not typically shared between users. You would not check your workspace into source control to share with other team members. You would check your projects into source control and each user would have their own workspace that references the projects.
It possible to have multiple. Only one workspace is active at a time in Code Composer Studio but you can switch workspaces using the File → Switch Workspace… menu.
A perspective defines the layout of views, menus and toolbars in the Workbench window. Each perspective provides a set of functionality aimed at accomplishing a specific type of task. For example, the CCS Edit perspective contains views most commonly used during code development, such as the Project Explorer, Editor and Problems view. When a debug session is started, Code Composer Studio will automatically switch to the CCS Debug perspective. This perspective by default contains views associated with debugging.
It is possible to manually switch between perspectives using the perspective buttons at the top right of the Workbench or by using the Window → Perspective menu. Any changes made to a perspective will be preserved the next time the perspective is opened. A perspective can be reset to the default arrangement via the Window -> Perspective → Reset Perspective menu. New perspectives can be created simply by saving the current perspective as a new name Window → Perspective → Save Perspective As… menu.
There is a CCS Simple perspective available that can be accessed from the Getting Started view. This perspective is used for both editing and debugging and has been designed to expose just the most basic functionality to make it easier for users who are familiar with more simple environments.
Views are windows within the main Workbench window that provide visual representation of information or data. The Workbench window mainly consists of the editor and a collection of views. Examples of some views are Debug, Problems, Memory Browser, Disassembly.
Resources is a collective term for a project, folder or file that exists in the Workspace.
Projects typically contain folders and files. Like the workspace, a project maps to a physical folder in the file system. The default location, when creating a new project, is in a subfolder (of the project name) within the workspace folder. However a folder outside the workspace can also be chosen. Once the project is created, a reference to it will be made in the workspace and the project is now available for use within the Workbench and visible from the Project Explorer.
Projects are either open or closed. When a project is closed, it is still part of the workspace, but it cannot be modified by the Workbench. The resources of a closed project will not appear in the Workbench, but the resources still reside on the local file system. Closed projects require less memory and are not scanned during routine activity. Hence closing unnecessary projects can improve performance of Code Composer Studio. Note that closed projects will still be visible in Project Explorer so that they can easily be opened when needed.
A project becomes part of a workspace by being created in the workspace or by being imported into the workspace.
The Project Explorer shows all projects that are part of the active workspace. Note that the view is mostly a representation of the filesystem of the project folder. Hence when creating a subfolder and moving files to that subfolder from within the Project Explorer, the actual file system is being altered. Similarly changes made to the file system will be reflected in the Project Explorer. Note that not all files that appear in the view will exist in the file system and vice versa. Linked files will appear in the view but because they are references and not actual copies, the references do not appear in the actual file system. The Includes folder that appears in the Project Explorer displays all of the include paths setup for the project and is not a physical folder.
Files can either be added or linked to a project. When a file is added to a project, the file is copied to the root location of the project folder. There is also the option to ‘link’ a file to a project. This will simply have the project create a reference to the file instead of copying the file into the project folder.
There is no license fee associated with Code Composer Studio. Users are free to download and install Code Composer Studio without having to purchase a license. The license terms for Code Composer Studio are shown at installation and available afterwards in the /doc folder.
Code Composer Studio is a suite of development tools including an editor, project management system, compiler, debugger, profiling and visualization tools.
IDE stands for Integrated Development Environment. It refers to an environment that brings together the tools needed to develop software. Typically this means an editor, build system and debugger. This enables the development of software without having to continually switch between tools.
The editor in Code Composer Studio includes a wide breadth of features to make development easier. Standard features such as customizable syntax highlighting and code completion are present, as well as more unique features such as local history. The local history keeps track of source code changes and enables the comparison or replacement of the current source with those in the history.
The project management system allows for the building of projects with either the TI compiler or GCC. It also integrates with standard source control software such as Git.
The integrated debugger allows for the debugging of applications running on TI embedded devices and is discussed in more detail in the debugging chapter.
C/C++ Compilers are provided for each instruction set. In most cases this is a TI proprietary compiler. For Cortex A devices GCC is provided but in general it is recommended to use the compiler that is bundled with the SDK for the device. For MSP430 and Cortex M based MCUs a TI proprietary compiler and GCC are provided. GCC is the open source GNU compiler. Additional compilers are available from the App Center.
2.4.3. Resource Explorer¶
Resource Explorer helps you find all the latest examples, libraries, demo applications, datasheets, and more for your chosen platform.
Filtering by device, or by TI LaunchPad™ Kit, the interface enables you to filter the content to only what is relevant to your chosen platform. Resource Explorer will show you not only the resources that you have installed on your local computer but also those that are located online and available for download. When you select an example from a software package that you have not yet installed Resource Explorer will allow you to install that package, and any necessary dependencies, and then allow you to import the example into your workspace.
Resource Explorer can be accessed from menu View → Resource Explorer.
More information on Resource Explorer is available here.
2.4.4. App Center¶
Similar in concept to Resource Explorer, App Center is used to obtain additional items required for development. While Resource Explorer is used to obtain software and documentation, App Center is primarily used to obtain extensions or add-ons to the Code Composer Studio environment such as compilers.
Resource Explorer can be accessed from menu View → CCS App Center.
More information on App Center is available here.
2.5. Debug Probes¶
TI offers a wide selection of debug probes that enable software development on TI embedded processors. TI’s debug probes are designed to meet different needs in terms of functionality and budget. Each probe is compatible with Code Composer Studio.
Developing software typically requires downloading the resulting program to the embedded processor it was written for. A debug probe provides a debug communication pathway between a host computer and the embedded processor. This allows for downloading of the program as well as controlling the processor to enable debugging.
More information on the debug probes available for TI embedded processors is available here.
Note that it is possible to add support for additional debug probes to an existing Code Composer Studio installation by running the installer again and pointing it at the current installation.
The E2E support community is the primary method for obtaining support for developing on TI processors. This article provides more information on support resources.