Qt Creator 4.11和QBS 1.15对微控制器进行编程的可能性概述

大家好,程序员,硬件和所有对此表示同情的人。 我想继续回顾Qt Creator IDE的功能以及有关微控制器编程的QBS构建系统。

之前,我写过有关QtC 4.10和QBS 1.14以前版本的改进。

这个主题对谁感兴趣,欢迎关注。

几天前, Qt Creator 4.11发行版悄无声息地发布了,它为使用微控制器(在普通人中称为“裸机”设备)增加了一些改进。 此版本的Qt Creator集成了QBS 1.15构建系统,该系统还具有新的改进(尚未发布)。

Qt Creator的改进


所有这些改进仅在启用BareMetal插件时可用,该插件通过菜单“帮助->关于插件->设备支持-> BareMetal”激活。

  1. GCC,SDCC和IAR EW编译器已添加了新的体系结构,其基本详细信息在下表中给出:
    编译器支持的架构
    IAR电子战STM8,MSP430
    海湾合作委员会MSP430
    SDCCSTM8

    现在,在“工具->选项->套件->编译器->自动检测”选项卡上自动检测到这些新的编译器。

    例如,对我来说,它看起来像这样:



    在Windows上,未实现针对MSP430架构的GCC编译器自动检测,因为 此集作为简单的归档文件而不是作为安装程序提供。

    但是没有人愿意手动添加此GCC编译器(以及任何其他受支持的编译器),而Qt Creator会正确确定编译器ABI:



    注意:当然,所有编译器都会自动具有带有标头,预定义宏等的目录,以正确突出显示代码。

  2. 工人的要求,增加了对用于描述微控制器外设寄存器的SVD文件的支持。

    注意:据我所知,此功能仅适用于ARM(尽管我可能错了),并且实际上仍处于试验阶段。

    要使用此功能,必须首先在“工具->选项->设备-> YourDevice”设备设置的“外围描述文件”字段中选择所需的SVD文件,该文件对应于目标微控制器:



    注意:这些文件可以从ARM网站下载,也可以从已安装Keil MDK或IAR EW产品的目录中下载。

    此外,在开始调试后,在菜单“窗口->视图”中选择“外围寄存器”。 之后,将打开“ Peripheral Registers”面板(类似于“ Registers”面板),在该面板上,通过右键单击,将显示一个带有要显示的寄存器组列表的菜单:



    我们选择任何组(例如RCC),并从该组中获取所有寄存器的列表,以及它们的详细说明和可读取/写入的值:



    注意:目前,仅显示一组选定的寄存器。

QBS的改进


QBS将是此审核的组成部分,因此有必要谈论其改进:

  1. 增加了对这些新编译器的支持,并实现了自动检测已安装的编译器和创建配置文件的功能。

    qbs.architecture属性具有以下值:

    建筑名称物业价值
    STM8stm8
    MSP430msp430

  2. 对于以下架构和版本,已将生成器支持添加到Keil MDK和IAR EW项目中:

    集成开发环境建筑学发电机组
    KEIL uVision 5.23阿姆keiluv5
    KEIL uVision 5.23MCS51keiluv5
    IAR EW 8.40.1阿姆iarew8
    IAR EW 3.11.1STM8iarew3
    IAR EW 10.10.1MCS51iarew10
    IAR EW 7.12.4MSP430iarew7
    IAR EW 7.20.1AVRiarew7

    注意:上表显示了正在开发发电机的产品版本,并且或多或少地检查了可操作性。

    因此,现在可以使用这些生成器为所需的目标IDE创建本机项目。 同时,每个生成器会将QBS项目中指定的所有特定于编译器的标志,路径,依赖项转换为目标项目IDE的相应设置。

    如果源QBS项目包含多个产品(例如,应用程序,库等),则生成器将为每个目标IDE创建目标“工作区”,并带有嵌套子项目“项目”。

    注意:我会马上说,据我所知,KEIL或IAR EW IDE不支持依赖项跟踪(如果我错了,请更正它)。 因此,例如,如果项目以库的形式包含应用程序和依赖项,则用户将需要首先构建库,然后构建应用程序本身。

    要生成项目,必须已经使用适当的编译器配置了QBS配置文件。

    注意:到目前为止,您不能没有个人资料,因为 概要文件中的生成器将接收体系结构本身,预安装的编译器(IDE)的路径等。 正确搜索链接描述文件,运行时库的路径以及其他特定内容(没有简单的逻辑)需要此数据。

    例如,要为IAR EW和ARM微控制器创建目标项目,只需运行以下命令即可:

    qbs generate -g iarew8 -d <path/to/build/directory> -f <path/to/qbs/project/file> profile:<your/qbs/profile/for/arm> 

    可以使用例如GUI实用程序qbs-config-ui (或使用控制台版本)获得配置文件名称。

    注意:目前,发电机处于实验状态。 也许在某些情况下(如果原始项目很复杂),它们将生成不正确的目标项目文件,或者跳过某些标志等等。 强烈不要责骂,而是在QBS跟踪器中创建错误报告。

您可以在此处查看编译器支持的当前状态,并在此处查看生成器集成的当前状态。

为了了解其工作原理,QBS提供了一组简单的示例

接下来是什么


在将来的版本中,计划将瑞萨电子的架构和生成器添加到这些架构的IAR EW中(我不知道它是否会成功)。 而且,如果您非常幸运,那么Keil uVision的调试器将集成到Qt Creator中。

在此结束我的故事,谢谢所有关注此评论的人。

Source: https://habr.com/ru/post/zh-CN480132/


All Articles