CCS Launch, Load and Run

Attention

As the wake-up R5 is the device manager, it needs to be started by the SBL. So it can not be loaded through CCS. It should be flashed and booted through SBL. This section is only applicable for MCU R5F Core.

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 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

Launch CCS

../_images/ccs_launch_02.png

Start Project-less Debug

  • You will see the AM62DX target configuration in the “Threads” tab of “Debug” window as shown below

../_images/ccs_launch_03.png

Target Configuration After Launch

Load and run example binaries

  • POWER-ON the EVM

   Starting NULL Bootloader ...

   SYSFW Firmware Version 10.0.7--v10.00.07 (Fiery Fox)
   SYSFW Firmware revision 0xa
   SYSFW ABI revision 4.0

   INFO: Bootloader_runCpu:176: CPU mcu-r5f is initialized to 800000000 Hz !!!
   INFO: Bootloader_runCpu:176: CPU a530-0 is initialized to 1400000000 Hz !!!
   INFO: Bootloader_runCpu:176: CPU a530-1 is initialized to 1400000000 Hz !!!
   INFO: Bootloader_runCpu:176: CPU a531-0 is initialized to 1400000000 Hz !!!
   INFO: Bootloader_runCpu:176: CPU a531-1 is initialized to 1400000000 Hz !!!
   INFO: Bootloader_runCpu:176: CPU c7x0-0 is initialized to 1000000000 Hz !!!
   INFO: Bootloader_loadSelfCpu:229: CPU r5f0-0 is initialized to 800000000 Hz !!!
   INFO: Bootloader_JumpSelfCpu:248: All done, jumping self ...
  • Connect the target CPU of interest if not already connected. For the “hello world” example this is MCU_R5FSS0_0

    ../_images/ccs_load_run_00.png

    Connect CPU

  • Reset the CPU

../_images/ccs_load_run_01.png

Reset CPU

  • Load program on the CPU

../_images/ccs_load_run_02.png

Load Program

  • When using makefiles to build,

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

    ../_images/ccs_load_run_03.png

    Select Program for Makefile Build

  • When using CCS projects,

    • In the “Load Program” dialog, select “Browse Project”,

      • select the project and then select the program as shown below,

    ../_images/ccs_load_run_04.png

    Select Program for CCS Projects Build

    ../_images/ccs_load_run_05.png

    Select the Program from CCS Project

  • After the program is loaded, you will see the program is halted at “main” as shown below

../_images/ccs_load_run_06.png

Program at main()

  • Depending on the example you are running, you may need to load more programs on other CPUs for the example to work as expected. Typically, this is needed for multi-core interprocessor communication (IPC) examples. For the “hello world” program shown above, no more programs need to be loaded.

  • Select “Continue” to run the program and debug using the various CCS debug options

../_images/ccs_load_run_07.png

Run the Program

  • The program output will be seen on CCS console, and/or UART terminal, if enabled. Below shows a sample output on both CCS console and UART console, after running the “hello world” program.

../_images/ccs_load_run_08.png

Run the Program

Re-load and run example binaries

  • Here simply repeat the steps shows in Load and run example binaries

  • It is especially important to “reset the CPU” before reloading the program.

  • In most cases, you don’t need to power-cycle the EVM to reload the program or load a new program.

  • In some cases, depending on whether the previous program execution was successful or not, the CPU or some SOC peripheral may be in a exception or hang state. In this case program reload may not work.

    • SOLUTION: Power cycle the EVM and repeat all steps shown on this page.