C
NXP i.MX RT1050 (MIMXRT1050-EVKB) Evaluation Kit Setup Instructions
This topic helps you setup the development environment for NXP's i.MX RT1050.
Board features
- MIMXRT1052DVL6B MCU featuring 600MHz ARM® Cortex®-M7 core, 512KB RAM
- 4.3” 480x272 RGB Touch Display
- 256-Mbit SDRAM memory
- 512-Mbit Hyper Flash
- 64-Mbit QSPI Flash
- Socket for SD card
Setting up a development environment
Prerequisites
Use the Qt online installer to install the following prerequisites. You can download the installer from your Qt account.
- Qt for MCUs SDK
- Qt Creator v4.12.4 or newer
- CMake 3.15 or newer
- Ninja 1.10.0 or newer
Note: Ninja is an optional build tool and can be replaced with others like JOM or NMake. It is not needed when using Qt Creator.
- ARM Toolchain 8-2019-q3-update or IAR Build Tools for Arm V8.50, depending on which toolchain you are using
- EVKB-IMXRT1050 SDK 2.7.0 or newer
- NXP MCUXpresso IDE
Note: MCUXpresso IDE provides the tools for flashing and onboard debugging.
Note: The Qt online installer does not install the MCUXpresso IDE by default. You must select it explicitly from the list of third-party tools and SDKs.
Qt Creator IDE
- Launch Qt Creator and select Tools > Options > Devices > MCU.
- Select one of the targets from the drop-down list for Target supported by the Qt for MCUs SDK:
- Qt for MCUs 1.7 - MIMXRT1050-EVK-BAREMETAL 16bpp
- Qt for MCUs 1.7 - MIMXRT1050-EVK-FREERTOS 16bpp
- In the Requirements section, ensure that the platform-specific requirements are met.
- Select Automatically create kits for all available targets on start to create kits automatically.
Note: You could also manually create/remove kits using Create Kit and Remove Kit.
- Click Apply and restart Qt Creator if you choose to create kits automatically.
Note: The Automatically create kits for all available targets on start option is available from Qt Creator v4.14 onwards. On older versions of Qt Creator, you have to explictly create or remove kits using Create kit or Remove kit.
Command line setup
To get started from the command line, ensure that the following environment variables are set:
Qul_DIR
to the Qt for MCUs SDK install path.<QT_INSTALL_PATH>\QtMCUs\<VERSION>
where,
<QT_INSTALL_PATH>
is the Qt install directory,- and
<VERSION>
is the directory containing the Qt Quick Ultralite version you are using, for example1.1.0
.
- Toolchain install path, depending on which toolchain is being used
- For the armgcc toolchain, set
ARMGCC_DIR
to the ARM Toolchain install path.
OR
- For the IAR toolchain, set
IAR_ARM_COMPILER_DIR
to the IAR Build Tools install path.
- For the armgcc toolchain, set
- Add the CMake and Ninja tools to your system
PATH
. If you installed these tools using the Qt online installer, they are installed under<QT_INSTALL_PATH>\Tools
. MCUXpressoIDE_PATH
to your MCUXpresso IDE installation path.- Create the
EVKB_IMXRT1050_SDK_PATH
environment variable and set it to the following path:<QT_INSTALL_PATH>\Tools\QtMCUs\NXP\SDK_<version>_IMXRT1050
where,
<QT_INSTALL_PATH>
is the Qt install directory.
Flashing the firmware
Flashing and debugging NXP boards requires the board to have the OpenSDA firmware. If an incorrect firmware is flashed, the tools may fail to establish connection with the device.
To check the firmware, connect your device to your development host and open the provided USB storage device. In the DETAILS.TXT
file, look for the line starting with "USB Interfaces". It has to list "CDC" and "HID". If these are missing, you are probably using an incorrect firmware.
NXP provides the firmware for download. On the download page, select the type of your type of board and download the "Default firmware application, DAPLink". After flashing this to your board by following the instructions from NXP, the CDC and HID interface should be listed.
Build configuration
Qt Creator provides a build configuration with the kits that you created earlier for the targets. If you are using a command-line setup, configure using the following CMake variables. For more information, see the CMake Manual.
- QUL_PLATFORM
The platform to build must be set to
mimxrt1050-evk-baremetal
for this board.-DQUL_PLATFORM=mimxrt1050-evk-baremetal
- CMAKE_TOOLCHAIN_FILE
This platform supports the armgcc and IAR toolchains.
-DCMAKE_TOOLCHAIN_FILE=%Qul_DIR%\lib\cmake\Qul\toolchain\armgcc.cmake
OR
-DCMAKE_TOOLCHAIN_FILE=%Qul_DIR%\lib\cmake\Qul\toolchain\iar.cmake
- QUL_COLOR_DEPTH
The supported color depth by this platform is 16-bit.
Note: If this variable is not set, default color depth is used while configuring for the platform.
-DQUL_COLOR_DEPTH=16
- QUL_COPY_TO_RAM
By default, the asset data for application is copied to SDRAM on application startup. In order to keep resources in external flash, and not load it to RAM on startup, use the QUL_COPY_TO_RAM CMake option with the value
Never
when adding assets to the application with qul_add_resource.
Prebuilt demos and examples
The package for NXP i.MX RT1050 Evaluation Kit
board comes with the following prebuilt demos and examples:
You can find these from demo_images
directory.
See Flashing Instructions for NXP boards section on how to flash the device.
Building applications with prebuilt Qt Quick Ultralite libraries
Qt Creator IDE
Open the CMake project file for the example you want to build and configure it with the kit you created earlier. Once the project is configured, select Run or press Ctrl+r on your keyboard to build and flash the binary to the target.
Command line
The following example builds the watch
demo for this board:
cd %Qul_DIR%\demos\watch mkdir build cd build cmake .. -G "Ninja" -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_TOOLCHAIN_FILE=%Qul_DIR%\lib\cmake\Qul\toolchain\armgcc.cmake -DQUL_PLATFORM=MIMXRT1050-EVK-baremetal cmake --build .
Once you have successfully built the watch
demo, you can flash it from the command line:
cmake --build . --target flash_watch
The same procedure applies to any other application.
Reading debug messages
By default, the output of printf
calls are redirected to a virtual serial port, which is exposed on the host machine via USB.
Debugging
For convenience, you can set an environment variable that points to the Redlink tool, which is part of the MCUXpresso IDE.
set REDLINK=%MCUXpressoIDE_PATH%\ide\binaries\crt_emu_cm_redlink
Where, %MCUXpressoIDE_PATH%
is an environment variable pointing to the MCUXpresso IDE installation directory.
- Open a terminal window and run the following command:
%REDLINK% --server :50032 --mi -2 -vc --connect-reset core -p MIMXRT1052xxxxB --ConnectScript RT1050_connect.scp --flash-driver= -x %Qul_DIR%\platform\boards\nxp\mimxrt1050-evk-common\cmake
GDB Server is now listening for TCP connections on port,
50032
.Note: To change TCP port used by
redlink_server
, change--server :50032
to different value. - Run
arm-none-eabi-gdb
in a separate console%ARMGCC_DIR%\bin\arm-none-eabi-gdb.exe <PATH_TO>\your_app.elf
- Connect to the target via the gdbserver in the
arm-none-eabi-gdb
console using(gdb) target remote :50032
Known issues
- The interrupted program does not resume its execution while debugging. It must be restarted using the
mon reset halt
command.
Available under certain Qt licenses.
Find out more.