AM62L FreeRTOS SDK  11.00.00
Application Run and debugging using CCS

Note
The steps on this page should be done each time EVM is power cycled or when a new CCS session is started.

Prerequisites

A quick recap of the steps that need to have been done before you proceed

  • Make sure you have installed CCS as mentioned in Download, Install and Setup CCS
  • Make sure the UART port used for console is identified as mentioned in Setup UART Terminal
  • Make sure you have the EVM power cable, JTAG cable, UART cable connected as shown in Cable Connections
  • Make sure the UART or CCS console logs on doing EVM POWER-ON indicate that SOC initialization is successful
  • Make sure you have built the example of interest as mentioned in Build a Hello World example

Send Application using USB-DFU

  • Setup the EVM in USB-DFU bootmode.
  • POWER-ON the EVM.
  • Send the prebuilt binary "tiboot3.bin" present at ${MCU_PLUS_SDK_PATH}/tools/boot/sbl_prebuilt/am62lx-evm/ as follows:
    sudo dfu-util -R -a bootloader -D tools/boot/sbl_prebuilt/am62lx-evm/tiboot3.bin
  • You will see pre-BL logs on the UART console after this.
  • Send the application binary, say, hello_world.release.appimage.hs_fs after the first binary is sent:
    sudo dfu-util -R -a bootloader -D examples/hello_world/am62lx-evm/a53ss0-0_freertos/gcc-aarch64/hello_world.release.appimage.hs_fs
  • You will see the application being executed after this step. Each application will have TF-A logs and PSCI/SCMI version logs as shown below. This is because the application is running with TF-A and SCMI/PSCI init is done in the generated files for all examples.
    NOTICE: bl1_plat_arch_setup arch setup
    NOTICE: Booting Trusted Firmware
    NOTICE: BL1: v2.12.0(release):11.00.13
    NOTICE: BL1: Built : 15:18:31, May 27 2025
    NOTICE: BL1: dram_class: 11
    NOTICE: lpddr4: post start - PI training status=0x27c0a000
    NOTICE: bl1_platform_setup DDR init done
    NOTICE: k3_bl1_handoff ENTERING WFI - end of bl1
    NOTICE: BL31: v2.12.0(release):11.00.13
    NOTICE: BL31: Built : 15:18:32, May 27 2025
    NOTICE: 0_ADC0's parent is 0
    NOTICE: 0_ADC0's parent (after set_parent) is 2
    PSCI Major version 1
    PSCI Minor version 1
    SCMI: Base protocol version 20000
    SCMI: Power Domain: Protocol version 21000
    SCMI: Clock: Protocol version 30000
    Hello World! from a53_core0

Using CCS for debugging

Follow the below steps to debug an example application using CCS.

Start Project-less Debug
  • You will see the AM62LX target configuration in the "Threads" tab of "Debug" window as shown below

Target Configuration After Launch
  • Connect the target CPU of interest if not already connected. For the "hello world" example this is CortexA53_0

Connect CPU
  • Load the symbols of the application .out file as desired for debugging.

Load Symbols
  • In the "Load Symbols" dialog, select "Browse" and select the program from examples/{example folder}/{board}/{cpu}_{os}/{compiler} as shown below for the "hello world" program.

Select File for loading symbols
  • After this step, you can see the symbols being loaded through the debugger and the entire call stack.

Debugging the application

Re-load and run example binaries

  • Here simply repeat the steps shows in Send Application using USB-DFU
  • You will need to power-cycle the EVM to reload the application or load a new application example.