6. CCS Setup for AM65XX

Code Composer Studio is an integrated development environment (IDE) that supports TI’s Micro controller and Embedded Processors portfolio. It provides useful tools to develop and debug embedded applications.

Please visit Code Composer Studio product (https://www.ti.com/tool/ccstudio) for more information.

Important

  • Below screen shots and examples show paths and instructions for Windows. The same applies for Linux except use Linux file/folder paths instead.

  • In Linux+RTOS mode, SPL/uboot bootloader loads the R5F, A53 binaries

    • CCS is needed to debug the software on R5F (and A53 when in RTOS mode).

  • In RTOS only mode, CCS is needed to load and run the binaries on different CPU cores in the SoC.

  • The CCS emulation pack and CSP (Chip Support Package) needs to be downloaded separately.

6.1. CPU names used in PSDK RTOS vs CCS

Below table shows the mapping of names in PSDK RTOS and CCS

CPU name in PSDK RTOS

CPU name in CCS

mcu1_0 / mcu1_1

MCU_Cortex_R5_0 / MCU_Cortex_R5_1

mpu0

CortexA53_0_0 / CortexA53_0_1

mpu1

CortexA53_1_0 / CortexA53_1_1

6.2. Step 1: Install CCS

  1. Install CCS v9.3 : CCS can be downloaded from https://software-dl.ti.com/ccs/esd/documents/ccs_downloads.html#code-composer-studio-version-9-downloads

  2. CCS installation details are available on https://software-dl.ti.com/ccs/esd/CCSv9/CCS_9_3_0/exports/CCS_9.3.0_ReleaseNotes.htm#General_Information

  3. This release is tested on below CCS version

    _images/ccs_version.png

    Fig. 6.1 CCS: IDE version

  4. During installation, there is a ‘Setup’ step where you can select components. Be sure to select: “Sitara AMx Processors” as shown below:

    _images/ccs_setup_am65xx.png

    Fig. 6.2 CCS: Download Components

  5. Here after we’ll be referring to the CCS installation directory as ${CCS_INSTALL_PATH}. In Linux, this is:

    ${HOME}/ti/ccsv9xx/ccs
    

6.3. Debugging without HLOS running on A53 (RTOS-only / baremetal)

Important

6.3.1. Step 2: Setup CCS target configuration and GELs files

  1. Create a CCS target config, you can name it AM65x_EVM.ccxml.

    • In Code Composer Studio, go to the File menu and select New -> Target Configuration File

    • Name the Target Configuration file as AM65x_EVM.ccxml and click Finish

    • Select Connection as Texas Instruments XDS110 USB Debug Probe, if you are using on board debugger (J23 usb connector)

    • Select Connection as Spectrum Digital XDS560V2 STM USB Emulator, if you are using Spectrum digital XDS560 USB debugger connected to JTAG Mipi connector (J32)

    • Select the Board as IDK_AM65x shown below

      _images/ccs_target_config_am65xx.png

      Fig. 6.3 CCS: Target Configuration

  2. Load the initialization script of the DMSC_Cortex_M3_0 core with the AM65x Gels as shown below.

    • Open the Advanced tab of the target configuration file AM65x_EVM.ccxml

    • Gel files can be found at below path

      ${CCS_INSTALL_PATH}/ccs_base/emulation/boards/am65x/gel/AM65xEVM.gel
      
      _images/ccs_target_config_init_script_am65xx.png

      Fig. 6.4 CCS: Target Configuration Initialization Script

6.3.2. Step 3: Load RTOS/baremetal application binaries thru CCS

Note

  • When using CCS boot flow, please configure EVM in NOBOOT mode ( see No Boot Mode ) for connecting and loading binaries via CCS.

  • The launch.js file below is responsible to load and run the DMSC. It is also responsible to set the board configuration input for the DMSC. The board configuration is passed by the PDK example ${PSDK_RTOS_PATH}/pdk_am65xx_{version}/packages/ti/drv/sciclient/examples/sciclient_ccs_init executing on the MCU R5F core. The default board configuration is available for reference at ${PSDK_RTOS_PATH}/pdk_am65xx_{version}/packages/ti/drv/sciclient/soc/V1/sciclient_defaultBoardcfg.c

  • All PDK and SDK examples require the DMSC firmware to be executed.

  1. GEL initialization

    • Open the launch.js script in an editor. Script is present in below path:

      ${PSDK_RTOS_PATH}/pdk_am65xx_{version}/packages/ti/drv/sciclient/tools/ccsLoadDmsc/am65xx/launch.js
      
    • ${PSDK_RTOS_PATH} is the path to your PSDK RTOS installation, for example:

      ${HOME}/ti/
      
    • Edit the variable “pdkPath” with the absolute path of the pdk package, i.e ${PSDK_RTOS_PATH}/pdk_am65xx_{version}/packages

    • Open Code Composer Studio and launch the Target Configuration previously setup

      _images/ccs_launch_ccxml_am65xx.png

      Fig. 6.5 CCS: Launch CCS Target Configuration

    • Go to the View Target configurations and launch a target configuration is done by right clicking on it.

    • Open the scripting console in CCS - Go to the View menu and then select Scripting Console

    • Load the launch.js script as shown below.

      _images/ccs_launch_script_am65xx.png

      Fig. 6.6 CCS: Launch script

    • Wait till the script finishes. This step can take considerable time as it configures PLL etc. in the SOC via GEL files and configures DDR. This will connect to the MCU_Cortex_R5_0 core.

      _images/ccs_launch_script1_am65xx.png

      Fig. 6.7 CCS: Launch script

    • After script completes execution you should see below in Debug window

      _images/launch_dss_script_complete_am65xx.png

      Fig. 6.8 CCS: Launch script Complete

  2. Load and run the binaries in CCS. Debug as usual using CCS.

    • Now you can connect to any core and load the corresponding application binaries.

      _images/ccs_connect_target_am65xx.png

      Fig. 6.9 CCS: Loading the demo application binary

    • Go to the Run menu and then select Load -> Select Program to Load

    • In the Load Program window, browse to application binary you want to load.

      _images/ccs_load_binary.png

      Fig. 6.10 CCS: Loading the demo application binary

    • Go to the Run menu and then select Resume to start executing demo binary.

6.4. Debugging with HLOS running on A53 (Linux)

Important

6.4.1. Step 2: Setup CCS target configuration

  1. Install CCS, CCS emulation packs and the CSP as per Step 1: Install CCS.

  2. Create a CCS target config, you can name it “AM65x_EVM_NO_GEL.ccxml”.

    • Select Connection as Texas Instruments XDS110 USB Debug Probe, if you are using on board debugger (J3 usb connector)

    • Select Connection as Spectrum Digital XDS560V2 STM USB Emulator, if you are using Spectrum digital XDS560 USB debugger connected to JTAG Mipi connector (J16)

    • Select the Board as IDK_AM65x shown below

      _images/ccs_target_config_am65xx.png

      Fig. 6.11 CCS: Target Configuration

    • Remove the gel file from DMSC cortex M3 settings

6.4.2. Step 3: Load RTOS core firmware symbols thru CCS

  1. Load the debug version of the firmware binaries on the HLOS file system, and boot device.

  2. Launch the target config file created

    _images/ccs_target_config_launched_am65xx.png

    Fig. 6.12 CCS: Target Configuration launched

  3. Now you can connect to the required non-A53 core (i.e MCU R5) and load the symbols of the application binary.

    _images/ccs_target_config_load_symbols.png

    Fig. 6.13 CCS: Load symbols in the connected non-A53 core

  4. Now you can put breakpoints wherever required and debug as usual.