Developers and designers may sometimes have issues collaborating on an embedded system’s UI. Qt, a member of the ST Partner Program, brings them together around a framework that simplifies workflows on STM32 devices. Recently, the company made it easier to use its tools on our MPUs. The Qt Board Support Package (QBSP) installation guide shows how to create a Linux boot image for the STM32MP157A. Additionally, the company has demo images for STM32 microcontrollers and board support packages for the STM32MP157F-DK and STM32MP157-EVAL development tools. Hence, porting the same application and its UI from an MCU to a microprocessor is simpler. We thus sat down with Qt to learn how users can use its framework with our solutions.
Table of Contents
The Qt (“cute”) Factor
Using Tools to Bring Designers and Developers Together
Qt is an ecosystem that comprises a framework and a collection of tools and libraries for app development on mobile, PCs, and embedded systems. It thus bridges the gap between design and development. Indeed, many teams suffer slowdowns or challenges when moving from the design to the development phase. Conceiving a UI in Photoshop doesn’t begin to capture a framework’s intricacies or the limitations of a programing language. As a result, when designers hand their work to developers, many face challenges, such as creating a responsive design. Similarly, designers may feel that their vision is lost in translation. Ultimately, such back-and-forth may be counterproductive, leading to frustration and a longer time to market.
The ST Authorized Partner solves this issue by taking a different approach to design. For instance, Qt Design Studio enables UI experts to import their work from Photoshop and use wireframes to develop their interfaces. The WYSIWYG interface and timeline-based animations allow the creation of environments more intuitively. Once artists hand their work to developers, the same tool reveals the code to perform optimizations, write the application’s logic, and more. Developers also have access to more complex IDEs, such as Qt Creator IDE. However, all these utilities are only a piece of the puzzle. ST and Qt must ensure that the libraries, software, and frameworks run efficiently on STM32 MCUs and MPUs.
The STM32 Vector
Using Qt Without Performance Penalty
As engineers determine whether Qt on STM32 devices is right for their project, many try to evaluate the framework’s performance. During our time with the company, we learned how their solution takes advantage of our IPs. For instance, it optimizes its libraries for our ChromART accelerator or the GPU of the STM32MP1. Hence, there’s no performance penalty, making the use of the same code base on ST’s MCUs and MPUs even more attractive. Qt even shared that some of its customers saw a performance increase when adopting its framework, which led to new features and a richer UI. This is possible because we continue to work with Qt to assist them as they optimize their code for our devices.
Using Qt on the STM32 MCUs and MPUs
A few years ago, Qt ventured into the world of microcontrollers and worked with ST to support STM32 devices. It was the first time the company ran its libraries and frameworks on Cortex-M processors. The initiative led to the creation of binaries for many of our MCUs, from STM32F7s and STM32H7s to STM32L4s. Engineers can, therefore, start their proofs-of-concept on a broader range of development boards. Teams that need to convince managers will have an easier time and can start with a configuration that’s closer to the final product. Moreover, developers that use MCUs in settings that must meet specific functional safety standards often use Qt Safe Renderer, which enables them to receive their certifications faster.
Another reason engineers adopt Qt is because they can easily port their MCU application to an STM32MP1 MPU. The more abundant resources and the Linux operating system mean an easier transition from MCU to MPU. Teams need to focus on fundamental implementation issues like loading scripts or hardware timers instead of focusing on the libraries and performance. Moving from an MCU to an MPU may also involve a change in display size or resolution. Qt solves this issue by offering tools that can create responsive user interfaces. Hence, thanks to their work on STM32 devices, teams can move to a different platform more smoothly, reducing their time to market.