一、添加交叉编译工具链开发套件

开发的Qt程序需要经过交叉编译工具链编译后,才可以在IMX6ULL开发板的Linux ARM平台上运行。QT Creator交叉编译工具链的设置界面位于的“Tools”->“Options”->“Build & Run”,需要在Compilers、Debuggers、QtVersions和Kits四配置中添加对应的文件。

1、添加Compilers

  1. 添加gcc
    在界面的右侧点击Add->GCC->C,添加一个GCC编译器。

    选中新添加的GCC编译器,然后点击下方的“Browse”按键开启文件资源浏览器;

    进入交叉编译器的路径“/opt/industio/imx6ull_qt4.8.7_sdk_hf/bin/”,选中gcc编译工具“arm-linux-gnueabihf-gcc”。

    将GCC的名字修改为“imx6ull-hf-GCC”,点击“Apply”按键生效设置。

  2. 添加g++
    参照gcc的添加方法,添加g++交叉编译工具,文件路径为“/opt/industio/imx6ull_qt4.8.7_sdk_hf/bin/arm-linux-gnueabihf-g++”,并将名字修改为“imx6ull-hf-G++”,点击“Apply”按键生效设置。

2、添加Debuggers

在Debuggers栏点击“Add”按键新增一个Debugger,选择“/opt/industio/imx6ull_qt4.8.7_sdk_hf/bin/arm-linux-gnueabihf-gdb”,并修改名字为“imx6ull-hf-Debugger”,点击“Apply”按键生效设置。

3、添加Qt Versions

在Qt Versions栏点击“add”打开文件资源浏览器,选择“/opt/industio/imx6ull_qt4.8.7_sdk_hf/bin/qmake”,点击“Apply”按键生效设置。

4、添加Kits

在Kits栏,点击“Add”按键添加一个kit,并修改名字为“imx6ull-hf-Qt4.8.7”,选择Compiler C: imx6ull-hf-GCC;Compiler C++: imx6ull-hf-G++;Qt Version :“Qt 4.8.7(imx6ull_qt4.8.7_sdk_hf)”,最后点击“Apply”生效配置。

5、验证Qt Creator交叉编译器配置

  1. 点击Qt Creator软件的“File->New File or Project”,新建一个“Qt widget Application”工程。

  2. 在“Kit Selection”界面,选择添加的“Imx6ull-hf-Qt4.8.7”kit。

  3. 在Qt Creator左侧选择“imx6ull-hf-Qt4.8.7->Release”

    点击”Build”🔨按键编译;

    正常编译完,在新建工程的“/home/industio_work/Qt/project/”目录下,产生一个“build-test_toolchain-imx6ull_hf_Qt4_8_7-Release”文件夹,文件夹中包含编译的中间文件和开发板上运行的可执行文件“test_toolchain”。

  4. 在开发板上运行Qt程序
    使用U盘或者TF卡将编译得到的可执行文件“test_toolchain”拷贝到开发板中,在开发板终端切换至可执行文件的目录,执行./test_toolchain -qws,即可在屏幕上显示Qt程序界面。

二、Qt Creator添加远程调试设备

使用交叉编译工具链的kit编译出的可执行程序只能运行于Linux ARM平台,如果需要在PC端调试和运行Qt工程则需要使用PC端的kit。

Qt程序开发过程中,大部分平台无关的逻辑代码可以直接使用PC端的kit编译和调试;如果要下载到开发板上验证Qt程序,则需要使用交叉编译工具链编译Qt程序,获得可执行文件后拷贝至开发板中运行调试。为了简化调试过程中繁琐的拷贝和手动执行过程,可以在Qt Creator中配置一个远程目标设备,通过网络连接到设备调试Qt程序。

配置目标设备前,首先需要确认虚拟机和开发板之间网络可以相互ping通。本教程的网络连接环境如下:
虚拟机和开发板处于同一个局域网的同一个网段内,虚拟机的IP地址为:192.168.0.70,开发板的IP地址为:192.168.0.19。

  1. 修改kit“imx6ull-hf-Qt4.8.7”,选择Device type为“Generic Linux Device”,点击Device的右边的“Manage..”按键,进入Devices的添加界面。

  2. 在Devices中,点击右边的“Add…”按键,在弹出的设备配置窗口中选择设备类型为“Generic Linux Device”,然后点击“Start Wizard”进入设备配置界面。

  3. 在配置界面,设置设备名、IP地址“192.168.0.19”、登录账号“root”、登陆方式选择“Password”、输入root密码“wise-kit”,点击“Next”按键进入下一步;

  4. 在提示界面点击“Finish”开始测试设备连接。

  5. 如果配置信息无误,开发板和虚拟机之间的网络连接正常,则测试界面如下,点击“Close”按键关闭测试界面。

  6. 点击“Apply”按键生效配置。

  7. 切换回“Build & Run”,查看“imx6ull-hf-Qt4.8.7”的kit中的Device已经添加了新设备“imx6ull Generic Linux Device”。

  8. 修改工程的pro文件,在文件最后添加可执行文件运行路径。

    target.path += /root
    INSTALLS += target

  9. 点击Qt Creator左侧的Projects按键,选择“imx6ull-hf-Qt4.8.7”kit的“Run”,再“Run Setting”界面设置“test_toolchain”工程的运行的模式为”Deploy to Remote Linux Host“,运行参数为“-qws”。

  10. 修改工程界面,再界面上添加一个Label控件,添加文本。

  11. 选择“imx6ull-hf-Qt4.8.7”kit,点击“Run”按键,将程序下载至开发板中运行。

    开发板中的运行效果如下:

  12. 选择底部“Application Output”,点击test_toolchain(on Remote Device)的关闭按键“X”,在弹出的提示框中,点击“Force Quit”即可关闭开发板运行的Qt程序线程。

文档更新时间: 2020-11-03 14:11   作者:admin