大家好,程序员,硬件和所有对此表示同情的人。 我想继续回顾Qt Creator IDE的功能以及有关微控制器编程的QBS构建系统。
之前,我写过有关
QtC 4.10和QBS 1.14以前版本的改进。
这个主题对谁感兴趣,欢迎关注。
几天前,
Qt Creator 4.11发行版悄无声息地发布了,它为使用微控制器(在普通人中称为“裸机”设备)增加了一些改进。 此版本的Qt Creator集成了
QBS 1.15构建系统,该系统还具有新的改进(尚未发布)。
Qt Creator的改进
所有这些改进仅在启用BareMetal插件时可用,该插件通过菜单“帮助->关于插件->设备支持-> BareMetal”激活。
- GCC,SDCC和IAR EW编译器已添加了新的体系结构,其基本详细信息在下表中给出:
现在,在“工具->选项->套件->编译器->自动检测”选项卡上自动检测到这些新的编译器。
例如,对我来说,它看起来像这样:

在Windows上,未实现针对MSP430架构的GCC编译器自动检测,因为 此集作为简单的归档文件而不是作为安装程序提供。
但是没有人愿意手动添加此GCC编译器(以及任何其他受支持的编译器),而Qt Creator会正确确定编译器ABI:

注意:当然,所有编译器都会自动具有带有标头,预定义宏等的目录,以正确突出显示代码。
- 应工人的要求,增加了对用于描述微控制器外设寄存器的SVD文件的支持。
注意:据我所知,此功能仅适用于ARM(尽管我可能错了),并且实际上仍处于试验阶段。
要使用此功能,必须首先在“工具->选项->设备-> YourDevice”设备设置的“外围描述文件”字段中选择所需的SVD文件,该文件对应于目标微控制器:

注意:这些文件可以从ARM网站下载,也可以从已安装Keil MDK或IAR EW产品的目录中下载。
此外,在开始调试后,在菜单“窗口->视图”中选择“外围寄存器”。 之后,将打开“ Peripheral Registers”面板(类似于“ Registers”面板),在该面板上,通过右键单击,将显示一个带有要显示的寄存器组列表的菜单:

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

注意:目前,仅显示一组选定的寄存器。
QBS的改进
QBS将是此审核的组成部分,因此有必要谈论其改进:
- 增加了对这些新编译器的支持,并实现了自动检测已安装的编译器和创建配置文件的功能。
qbs.architecture属性具有以下值:
- 对于以下架构和版本,已将生成器支持添加到Keil MDK和IAR EW项目中:
注意:上表显示了正在开发发电机的产品版本,并且或多或少地检查了可操作性。
因此,现在可以使用这些生成器为所需的目标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中。
在此结束我的故事,谢谢所有关注此评论的人。