Qt for MCUs 1.7

Qt for MCUs 1.7

官网资料 https://doc.qt.io/QtForMCUs/index.html

一、概述

Qt Quick Ultralite概述

Qt Quick Ultralite图形框架提供了丰富的QML API集,用于构建流畅的GUI和渲染引擎。它还提供了一组代码生成器和图形运行时,用于呈现基于Qt Quick的图形用户界面(GUI)。

该框架的设计和开发旨在帮助为由微控制器单元(MCU)供电的设备创建丰富的用户界面。开发该应用程序是为了使您的应用程序在可用资源的情况下达到最佳性能。它利用可用的硬件加速来进行图形操作,并意识到MCU平台上的有限资源,例如内存占用量和CPU处理周期。

二、受支持的目标板和开发主机

恩智浦支持的主板

开发板MCU编译器操作系统)
NXP MIMXRT1050-EVKBMIMXRT1052DVL6B适用于Arm V8.50的GNU Arm 8,IAR生成工具裸机,FreeRTOS(技术预览)
NXP MIMXRT1060-EVKMIMXRT1060DVL6A适用于Arm V8.50的GNU Arm 8,IAR生成工具裸机
NXP MIMXRT1064-EVKMIMXRT1064DVL6A适用于Arm V8.50的GNU Arm 8,IAR生成工具裸机,FreeRTOS(技术预览)
NXP MIMXRT1170-EVKMIMXRT1176DVMAAGNU Arm 8FreeRTOS(技术预览)

开发平台

Windows 10 64位

三、Qt Quick Ultralite平台移植指南

官网资料 https://doc.qt.io/QtForMCUs/platform-porting-guide-introduction.html

四、以NXP i.MX RT1050为例的开发环境搭建

先决条件

  • Qt for MCUs SDK

  • Qt Creator v4.12.4 or newer

  • CMake 3.15 or newer

  • Ninja 1.10.0 or newer

    注意:Ninja是一个可选的构建工具,可以用JOM或NMake等其他工具替换。使用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

注意: MCUXpresso IDE提供了用于刷新和板上调试的工具。

安装链接

官网下载安装器 [https://my.visualstudio.com/Downloads?q=Visual%20Studio%202017](https://my.visualstudio.com/Downloads?q=Visual Studio 2017)

4.1 官网下载

购买qt后,登陆 https://account.qt.io/downloads;

在这里插入图片描述

下载得到在线安装包 qt-unified-windows-x86-4.0.1-1-online.exe

4.2 在线安装

运行安装包,安装提示一步步安装。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安装后文件目录
在这里插入图片描述

4.3 命令行编译demo win版本

  • 从命令行进入目录 C:\Custom\Qt\QtMCUs\1.7.0\demos\thermo
  • 设置临时环境变量
SET PATH=%PATH%;C:/Custom/Qt/Tools/CMake_64/bin;
SET Qul_DIR=C:/Custom/Qt/QtMCUs/1.7.0

构建(假设你已经安装vs)

cd 项目目录
mkdir build
cd build
cmake .. -G "NMake Makefiles JOM" -DCMAKE_BUILD_TYPE=Release -DQUL_GENERATORS=%Qul_DIR%/lib/cmake/Qul/QulGenerators.cmake -DQUL_PLATFORM="Qt"
cmake --build .

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

4.4 命令行编译mimxrt1050版本

设置要构建的平台

-DQUL_PLATFORM = mimxrt1050-evk-baremetal

armgcc工具链

-DCMAKE_TOOLCHAIN_FILE=%Qul_DIR%\lib\cmake\Qul\toolchain\armgcc.cmake

Qul_DIR 是 Qt for MCUs SDK 安装目录

该平台支持的颜色深度为16位

-DQUL_COLOR_DEPTH = 16

构建命令

cd 项目目录
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 .

得到 build/MinSizeRel/thermo_small.elf

调试

工具MCUXpresso IDE,连接远程端口

五、从源代码构建Qt Quick Ultralite

先决条件

  • Qt for MCUs SDK
  • Qt Creator v4.12.4 or newer
  • CMake 3.15 or newer
  • Ninja 1.10.0 or newer
从修改后的源代码构建Qt Quick Ultralite
cd %Qul_DIR%
mkdir build
cd build
cmake .. -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=..\lib\cmake\Qul\toolchain\armgcc.cmake -DQUL_PLATFORM=MIMXRT1050-EVK-baremetal -DQUL_BUILD_DEMOS=off -DQUL_BUILD_EXAMPLES=off -DQUL_BUILD_FRAMEWORK=off
cmake --build .
mkdir some\path\custom_builds\qul
cd some\path\custom_builds\qul

mkdir qul-build
cd qul-build

set QUL_SDK_PATH=<PATH_TO_INSTALLED_QT_SDK>\QtMCUs\<VERSION>

cmake %QUL_SDK_PATH% -G "Ninja" -DCMAKE_INSTALL_PREFIX=some\path\custom_builds\qul -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=%QUL_SDK_PATH%\lib\cmake\Qul\toolchain\armgcc.cmake -DQUL_PLATFORM=<PLATFORM_NAME> -DQUL_BUILD_TESTS=OFF -DQUL_BUILD_DEMOS=OFF -DQUL_BUILD_EXAMPLES=OFF -DQUL_GENERATORS=%QUL_SDK_PATH%\lib\cmake\Qul\QulGenerators.cmake

ninja install

六、 使用自定义SDK构建 windows版

设置环境变量(临时)

SET Qul_DIR=C:/Custom/Qt/QtMCUs/1.7.0

构建

cd 项目目录
mkdir build
cd build
cmake .. -G "NMake Makefiles JOM" -DCMAKE_BUILD_TYPE=Release -DQUL_GENERATORS=%Qul_DIR%/lib/cmake/Qul/QulGenerators.cmake -DQUL_PLATFORM="Qt"  -DCMAKE_C_COMPILER="C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe" -DCMAKE_CXX_COMPILER="C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe" -DCMAKE_MAKE_PROGRAM=C:/Custom/Qt/Tools/QtCreator/bin/jom.exe -DOS=Qt -DUSE_PLATFORM_WIN32=ON
cmake --build .

七、 构建 mimxrt1050 版

设置环境变量(临时)

SET Qul_DIR=C:/Custom/Qt/QtMCUs/1.7.0
SET IMXRT1050_SDK_DIR=C:/Custom/Qt/Tools/QtMCUs/NXP/SDK_2.8.2_EVKB-IMXRT1050
SET IMXRT1050_FREERTOS_DIR=C:/Custom/Qt/Tools/QtMCUs/NXP/SDK_2.8.2_EVKB-IMXRT1050/rtos/freertos/freertos_kernel
SET MCUXpressoIDE_PATH=C:/nxp/MCUXpressoIDE_11.2.0_4120/ide
SET COMPILER_FOLDER_NAME=armgcc
SET ARMGCC_DIR="C:/Program Files (x86)/GNU Tools ARM Embedded/8 2019-q3-update"

构建

cd 项目目录
mkdir build
cd build
cmake .. -G "Ninja" -DCMAKE_BUILD_TYPE=MinSizeRel -DQUL_PLATFORM=MIMXRT1050-EVK-freertos -DQUL_COLOR_DEPTH=16 -DQUL_COMPILER_NAME=armgcc -DQUL_GENERATORS=%Qul_DIR%/lib/cmake/Qul/QulGenerators.cmake -DCMAKE_TOOLCHAIN_FILE=%Qul_DIR%/lib/cmake/Qul/toolchain/armgcc.cmake -DOS=FreeRTOS
cmake --build .

八、 构建 mimxrt1170 版

设置环境变量(临时)

SET Qul_DIR=C:/Custom/Qt/QtMCUs/Qul_dev
SET EVK_MIMXRT1170_SDK_PATH=C:/Custom/Qt/Tools/QtMCUs/NXP/SDK_2.8.0_MIMXRT1170_EVK-EAR3
SET EVK_MIMXRT1170_FREERTOS_PATH=C:/Custom/Qt/Tools/QtMCUs/NXP/SDK_2.8.0_MIMXRT1170_EVK-EAR3/rtos/freertos/freertos_kernel
SET MCUXpressoIDE_PATH=C:/nxp/MCUXpressoIDE_11.2.0_4120/ide
SET COMPILER_FOLDER_NAME=armgcc
SET ARMGCC_DIR="C:/Program Files (x86)/GNU Tools ARM Embedded/8 2019-q3-update"

构建

cd 项目目录
mkdir build
cd build
cmake .. -G "Ninja" -DCMAKE_BUILD_TYPE=MinSizeRel -DQUL_PLATFORM=MIMXRT1170-EVK-freertos -DQUL_COLOR_DEPTH=32 -DQUL_COMPILER_NAME=armgcc -DQUL_GENERATORS=%Qul_DIR%/lib/cmake/Qul/QulGenerators.cmake -DCMAKE_TOOLCHAIN_FILE=%Qul_DIR%/lib/cmake/Qul/toolchain/armgcc.cmake -DOS=FreeRTOS -DQUL_DEFAULT_SCREEN_WIDTH=1920 -DQUL_DEFAULT_SCREEN_HEIGHT=720
cmake --build .

QUL_PLATFORM可能的值

  • MIMXRT1050-EVKB-baremetal
  • MIMXRT1050-EVKB-freertos
  • MIMXRT1060-EVK-baremetal
  • MIMXRT1064-EVK-baremetal
  • MIMXRT1064-EVK-freertos
  • MIMXRT1170-EVK-freertos

九、 烧写到板子上

官网资料 https://doc.qt.io/QtForMCUs/qtul-flashinginstructions-nxp.html

命令行方式

首先确保安装 MCUXpresso IDE,这个在安装qtformcu时候可以从第三方工具中安装。

板子SW1设置0001 SDP MODE

设置Redlink 工具的环境变量

set REDLINK=%MCUXpressoIDE_PATH%/binaries/crt_emu_cm_redlink.exe

用USB线连接单板,打开终端窗口

%REDLINK% --flash-load-exec "C:/Custom/Qt/QtMCUs/Qul_dev/demos/thermo/build2/MinSizeRel/motor_cluster.elf" -p MIMXRT1176xxxxx --ConnectScript RT1170_connect.scp --flash-driver= -x %Qul_DIR%/platform/boards/nxp/mimxrt1170-evk-freertos/cmake

烧写完板子SW1设置0010 ,正常上电启动

刷新固件方式

闪烁和调试NXP单板需要有DAPLINK固件。如果固件刷新不正确,工具可能无法与设备建立连接。

NXP提供下载固件。在下载页面,选择单板类型,下载“Default firmware application, DAPLink”。

安装DAPLink后,按照以下说明来刷新固件:

  • 关闭单板电源
  • 上电时,长按SW3
  • 连接一根USB线到DAPLink USB端口,它将显示为一个名为“MAINTENANCE”的新磁盘。现在,SW3可以释放了。
  • 将DAP LINK FW二进制文件拷贝到维护磁盘上,用于编写新的DAP LINK固件。
  • 闪光完成后,驱动器被标记为“RT1170-EVK”。
指定程序生成bin

修改文件 “C:\Custom\Qt\QtMCUs\Qul_dev\lib\cmake\Qul\toolchain\armgcc.cmake”

macro(add_convert_elf_to_hex name)
    set_target_properties("${name}" PROPERTIES SUFFIX ".elf")
    #add_custom_command(TARGET "${name}" POST_BUILD COMMAND ${TOOLCHAIN_BIN_DIR}/${TARGET_TRIPLET}-objcopy${TOOLCHAIN_EXT}
    #-O ihex "$<TARGET_FILE:${name}>" "$<TARGET_FILE_DIR:${name}>/${name}.hex")
	
	add_custom_command(TARGET "${name}" POST_BUILD COMMAND ${TOOLCHAIN_BIN_DIR}/${TARGET_TRIPLET}-objcopy${TOOLCHAIN_EXT}
    -O binary "$<TARGET_FILE:${name}>" "$<TARGET_FILE_DIR:${name}>/${name}.bin")
endmacro()
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FreeRTOS是一个开源的实时操作系统,而Qt for MCUs是一个专注于图形前端的框架。它们可以结合使用,以在嵌入式系统上开发具有图形界面的应用程序。引用\[1\]和\[2\]提到,Qt for MCUs支持在FreeRTOS上运行,这意味着您可以在使用FreeRTOS的嵌入式系统上使用Qt for MCUs开发应用程序。由于Qt for MCUs专注于图形前端部分,因此不提供文件系统等功能,这些功能需要来自底层系统。因此,如果您需要更复杂的功能支持,可以选择使用FreeRTOS。引用\[3\]提到,Qt for MCUs的开发环境会根据目标MCU和选择的编译器而有所不同。对于ST的开发板,支持GCC和IAR编译器,而对于其他一些开发板,则使用Green Hills MULTI Compiler。Qt官方支持的开发主机是Linux(x86_64上的Ubuntu 20.04 LTS)或Windows(x86_64上的Windows 10)。对于Windows,请注意支持的MSVC编译器是2017和2019版本,而不是最新版本。请确保按照qt.io上的最新设置说明来获取一个可用的开发环境。 #### 引用[.reference_title] - *1* *2* *3* [Qt6 QML Book/Qt for MCUs/设置](https://blog.csdn.net/aggs1990/article/details/123877556)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值