Overview of Qt Creator 4.13 and QBS 1.17 Features for Microcontroller Programming

Hello, fellow programmers "iron workers" and everyone who sympathizes with them. I would like to continue to review the capabilities of the Qt Creator IDE in conjunction with the QBS build system in terms of microcontroller programming.



Earlier, I wrote about improvements in previous versions:





Who is interested in this topic, welcome to cat.



Literally today, quietly and imperceptibly, the release of Qt Creator 4.13 was released , in which some improvements were added for working with microcontrollers (in the common people - “baremetal” devices). This release of Qt Creator integrates the QBS 1.17 build system , which also has new improvements.



Improvements in Qt Creator



  1. Added support for new architectures and compilers.



    All new architectures and compilers are listed below in the table in the QBS section.



    Note: Their number is the same for QBS and QtC for each new version.

  2. J-Link Keil MDK



    Keil MDK Simulator St-Link, — J-Link.



    'bare-metal' ( ), «Tools -> Options -> Devices -> BareMetal» «uVision JLink»:







    «Tools file path» «tools.ini», Keil MDK, :







    : 'tools.ini' , .. Keil MDK.



    ( — «J-Link/J-Trace Cortex»):







    , .

  3. NXP Nordic Semiconductor Keil MDK



    ARM STMicroelectroncs, S32 NXP Nordic Semiconductor.



    :







    .



    : «Software Device Pack» Keil MDK.



  4. Keil MDK



    . , . , , :







    : - .



    , , «View -> Views -> Peripheral Registers»:







    :







    Now you can select the desired group of registers from all available ones, simply by right-clicking on the empty contents of the tab and in the "View Groups" menu, select a group, for example, "RCC":







    in which all available registers will be displayed, the values ​​of which (marked as RW) can be change.



Also fixed work with breakpoints when using the debugger from Keil MDK.



Improvements in QBS



Added support and auto-detection of new architectures and compilers.



The qbs.architecture property has the following new values:



Compiler Architecture name Property value
Keil C251 80251 (aka MCS251) mcs251
Keil ARMCLANG ARM arm
Keil C166 C16x, CX16x c166
IAR AVR32 avr32
IAR SuperH sh
IAR RISC-V riscv
IAR ColdFire (aka M68K) m68k
IAR Renesas M32C m32c
IAR Renesas R32C r32c
IAR Renesas M16C / M8C r16c
IAR National Semiconductor CR16 / M8C cr16
Gcc Renesas V850 v850
Gcc Renesas M32C m32c
Gcc Renesas M32R m32r
Gcc Renesas rx rx
Gcc RISC-V riscv
Gcc XTENSA (ESP8266 / 32) xtensa
Gcc ColdFire (aka M68K) m68k
Gcc National Semiconductor CR16 / M8C cr16
Gcc SuperH sh


Also, the current version of QBS contains many fixes and improvements (finally, we created a minimal docker container with CI for conducting auto tests for different compilers and architectures for bare-metal).



What's next



For QtC and the Keil MDK debugger, it is planned to add a feature for displaying and editing memory (it is currently disabled there). A new vendor (debugger) from Texas Instruments may also be added.



New compilers and architectures are planned for QBS and QtC.



On this note, I end my story, thanks to everyone who will pay attention to this review.



All Articles