Building and flashing a Dynamic Download Project

This tutorial will guide you through building an INTEGRITY project for a Qt example application on a Windows 10 host. You can select any Qt example application that uses the Supported Qt modules.

Preparing the Qt application build environment

Before building the INTEGRITY project, you need to prepare your build environment. Run the setEnvironment.bat script from the Windows CMD terminal. For more information about the script, see Creating a batch script for Windows 10.

 setEnvironment.bat

Building the Qt application example

To build Qt 6 application using CMake, run the following commands in the Windows CMD terminal:

 "Qt installation path>\bin\qt-cmake.bat" CMakeLists.txt -GNinja
 -DCMAKE_PREFIX_PATH="C:\Users\user\targetbuild"
 -DQt6_DIR="C:\Users\user\targetbuild\lib\cmake\Qt6"
 -DQt6Core_DIR="C:\Users\user\targetbuild\lib\cmake\Qt6Core"
 -DQt6Gui_DIR="C:\Users\user\targetbuild\lib\cmake\Qt6Gui"

  cmake --build .

Where, qt-cmake is the wrapper script that calls CMake to configure your project with appropriate include paths.

Creating a Dynamic Download Project in MULTI

  • Start MULTI Launcher and select File > Create workspace.
  • In the creation window mode select New Project and click OK.
  • In the dialog Project Wizard, select a path where the new project is to be created e.g. C:\Users\user\Documents\My Projects\Project1\default.gpj and click Next.
  • Select INTEGRITY in Operating System dialog and click Next.

    "Project creation window dialog."

  • Select Finish.

    "Qualcom board creation window dialog."

  • Select Create New > Dynamic Download > Next.
  • Select Settings For Dynamic Download > Finish.

    "Project tree view."

Building a Dynamic Download Project

  • Edit and save myproject.int file in the project tree:
     AddressSpace
       Name qtapp
       Filename C:\path\to\your\qt\app\binary
       MemoryPoolSize 0x2700000
       Language C++
       HeapSize 0x90000
       Task Initial
         StackSize 0x90000
         StartIt false
       EndTask
       Extendedmemorypoolsize 0x300000
     EndAddressSpace
    
  • Create a new file called 'multi_commands' and add the following commands to it:
     switch -component "debugger.task.qtapp.Initial"
     route "debugger.task.qtapp.Initial" { __ntwcommand prepare_target }
     wait -load
     switch -component "debugger.task.qtapp.Initial"
     route "debugger.task.qtapp.Initial" { __ntwcommand resume }
     wait -time 240000 -stop
     switch -component "debugger.task.qtapp.Initial"
     unload myproject
     wait -time 8000 -stop
     savedebugpane cmd "autotestresult.txt"
     quitall
    
  • Run building and loading commands from the Windows CMD terminal:
     multi.exe "C:\Users\user\Documents\My Projects\Project1\default.gpj" -build myproject &
     multi.exe "C:\Users\user\Documents\My Projects\Project1\dbg\bin\myproject" -connect="rtserv2 192.168.1.1" -p C:\Users\user\multi_commands &
    

    "MULTI IDE binary load window."

    Note: "rtserv2 192.168.1.1" is a board IP address. Check Set up the wiring to set up the board network.

    Note: It takes several minutes to deploy by Dynamic Download.