SLAAEQ6 March   2025 MSPM0G3519

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
  5. 2Pre-Migration Preparation
    1. 2.1 CCS Version Comparison
    2. 2.2 Pre-Migration Preparation
  6. 3Porting Code to CCS
    1. 3.1 Prepare for Porting
    2. 3.2 Set Up CCS Environment
    3. 3.3 Import Source Code and Files in CCS
    4. 3.4 Handle Device-Specific Code
    5. 3.5 Adapt Code for CCS
    6. 3.6 Build and Debug
  7. 4Post-Migration Optimization
  8. 5Summary
  9. 6References

Pre-Migration Preparation

Before starting the migration, be familiar with the differences between IAR Embedded Workbench (EW) and Code Composer Studio that are in the toolchains, project management, and ecosystem integration. A concise breakdown of the differences are shown below.

  1. Toolchain and Compiler: IAR uses a proprietary compiler, while CCS typically uses TI's compiler (based on GCC or Clang) or other supported compilers.
    Table 2-2 Toolchain and Compiler Differences
    IAR EW CCS
    Uses proprietary compiler of IAR (ICCARM for ARM). Uses TI Arm Clang (based on LLVM/Clang) for TI devices.
    Flags like --debug, -Oh, -D for defines. Flags differ (for example, -g for debug, --define=NAME for macros).
    Strict adherence to IAR-specific syntax (for example, #pragma vector). Requires TI-compatible syntax (for example, __attribute__((interrupt))).
  2. Project Structure: IAR and CCS have different project file structures and configurations.
    Table 2-3 Project Structure Differences
    IAR EW CCS
    Proprietary project format (.ewp, .eww). Eclipse-based project (.cproject, .project).
    Manages settings via GUI or .icf linker files. Uses linker command files (.cmd) and Eclipse-style configuration menus.
    Limited plugin ecosystem. Extensible via Eclipse plugins (for example, TI Resource Explorer, GIT integration).
  3. Debugging Tools and Hardware Support: CCS integrates TI-specific debugging tools, which can differ from the debugging environment of the IAR.
    Table 2-4 Debugging and Hardware Support Differences
    IAR EW CCS
    Broad third-party debug probes. Support TI debug probes (XDS110 and so forth.) and third party debug probes
    Requires manual HAL setup. Pre-integrated TI libraries (for example, TI-RTOS, FreeRTOS).
    Limited RTOS integration. Native support for TI-RTOS and real-time debugging tools.
  4. Ecosystem and Integration: CCS is free to use and supports a variety of tools to help users design projects.
    Table 2-5 Ecosystem & Integration Differences
    IAR EW CCS
    Paid license with limited free features. Free tier with optional paid upgrades.
    Minimal vendor-specific tools. Tight integration with TI tools (for example, UniFlash, SysConfig).
    Community support via IAR forums. Strong TI community (E2E forums, detailed app notes).
  5. Build and Optimization: CCS supports a variety of optimization level to meet different requirements.
    Table 2-6 Build and Optimization Differences
    IAR EW CCS
    Known for highly optimized code. Balances optimization with TI-specific tuning.
    Custom build steps via GUI. Flexible build customization using Eclipse or Makefile.
    Static memory allocation via .icf. Dynamic linker configuration (.cmd files).