xWRL6432 MMWAVE-L-SDK  05.04.00.01
Flash a Hello World example

Attention
Flashing a application will overwrite the SOC init application that was flashed earlier. So if you want to load and run from CCS again, you will need to do the SOC init steps again. This includes setting the SOP configuration by referring to SOP Mode Configuration
Note
See also Visualizer Tool for more details on the flashing tools.

Introduction

In this step we will flash the application that we have build and run using CCS to the EVM flash. We can then boot this application without being connected to CCS via JTAG.

Getting ready to flash the application

  • A quick recap of steps done so far that are needed for the flashing to work
    • Make sure the UART port used for terminal is identified as mentioned in Setup UART Terminal
    • Make sure python3 is installed as mentioned in Python
    • Make sure you have the EVM power cable and UART cable connected as shown in Cable Connections
  • Build the hello world application as mentioned in Build a Hello World example
  • As part of the build process in the final step a file with extension .appimage is generated. This is the file we need to flash.
    • When building with makefiles, this file can be found here (shown for hello world example),
      ${SDK_INSTALL_PATH}/examples/hello_world/{board}/m4fss0-0_freertos/ti-arm-clang/hello_world_cpp.release.appimage
      
    • NOTE: The folder name and file name in path can have "release", "Release" or "debug", "Debug" based on the profile that the application is built with.

Flashing the application

  • POWER-OFF the EVM
  • Set boot mode to SOP_MODE1 Device Management Mode.
  • POWER-ON the EVM
  • Open a command prompt and run the below command to flash the SOC initialization binary to the EVM.
      cd ${SDK_INSTALL_PATH}/tools/boot
      python arprog_cmdline.py -p COM13 -f ../../examples/hello_world_cpp/{board}/m4fss0-0_freertos/ti-arm-clang/hello_world_cpp.release.appimage -s SFLASH -t META_IMAGE1
    
    • Here COM13 is the port name of the identified UART port in Windows.
    • On Linux,
      • The name for UART port is typically something like /dev/ttyUSB0
      • On some Linux systems, one needs to use python3 to invoke python3.x, just python command may invoke python 2.x which will not work with the flashing script.
  • After all the flashing is done, you will see something like below
    C:/ti/mmwave_lp_sdk/tools/boot>python arprog_cmdline.py -p COM61 -f ../../examples/hello_world_cpp/{board}/m4fss0-0_freertos/ti-arm-clang/hello_world_cpp.release.appimage -s SFLASH -t META_IMAGE1
    Connecting Com Port....
    connect to device
    INFO : Port Opened
    set break signal
    --- please restart the device ---
    connection succeeded
    downloading [META_IMAGE1] size [29316]
    INFO : Port Opened
    INFO: Send start download command
    [========================================>]
    
  • If flashing is successful, Power off and switch to SOP_MODE2 (Application Mode / Functional Mode).