AccueilActualités informatiqueDéveloppement embarqué : Qt for MCUs 2.0 écrit de droite à gauche

Développement embarqué : Qt for MCUs 2.0 écrit de droite à gauche

Deux ans après la première version principale, Qt for MCUs 2.0 est maintenant disponible. Le framework graphique pour la création d’applications fonctionnant directement sur le microcontrôleur étend dans la version actuelle la représentation de textes dans divers langages avec des représentations et des écritures différentes. De nouvelles API permettent de gérer efficacement les ressources graphiques en mémoire, et les ressources statiques peuvent être échangées plus facilement.

Sommaire

Certes, le framework avait déjà des fonctions d’internationalisation de textes dans la série 1.x, mais il n’était jusqu’à présent pas possible d’afficher des écritures à gauche comme en hébreu et en arabe ou des écritures complexes comme la thaïlandaise. Dans Qt for MCUs 2.0, les fonctions de text shaping permettent d’afficher des polices bidirectionnelles et complexes.

(Image : Qt)

La représentation utilise le moteur de police Spark et nécessite, selon la Qt Company, environ 3,5 Ko de RAM et 100 Ko de ROM supplémentaires. Ceux qui n’ont pas besoin de la représentation complexe du texte peuvent la désactiver via la propriété CMake QUL_COMPLEX_TEXT_RENDERING afin de réduire la consommation de mémoire de l’application.

La version 2.0 apporte des fonctionnalités avancées pour la gestion des ressources graphiques. De nouvelles propriétés CMake comme QUL_RESOURCE_STORAGE_SECTION et QUL_RESOURCE_CACHE_POLICY déterminent où et comment les applications placent les ressources en mémoire. Cela permet par exemple de stocker certaines ressources graphiques dans la mémoire flash interne, tandis que d’autres se trouvent dans la mémoire flash externe et sont mises en cache dans la RAM au moment de l’exécution.

Qt for MCUs 2.0 propose des API pour la gestion de la mémoire des ressources graphiques.

(Image : Qt)

Une autre nouveauté concerne les ressources graphiques statiques, qui peuvent désormais être remplacées sans avoir à re-flasher l’application. Cela permet par exemple d’avoir des skins personnalisables pour l’interface ou un rebranding. Jusqu’à présent, l’échange n’était possible que pour les éléments dynamiques avec le ImageProvider-n’était possible. Pour les éléments statiques échangeables, le framework s’occupe automatiquement de la mise en cache et de la compression.

Sous le capot, Qt Company a étendu l’abstraction de plate-forme pour Qt Quick Ultralite afin de faciliter le portage du framework sur des plates-formes supplémentaires ou du matériel spécifique. Les bibliothèques de la plate-forme QUL sont désormais divisées en deux bibliothèques, l’une pour la couche de portage et l’autre pour les pilotes et configurations matérielles spécifiques.

Avec cette version, l’intégration de FreeRTOS, qui était jusqu’à présent une Technology Preview, est considérée comme stable. En ce qui concerne les outils, la version s’appuie sur Qt Creator 6 et Qt Design Studio 2.3.

Avec ou sans système d’exploitation sur le microcontrôleur

Qt for MCUs permet de créer des applications qui fonctionnent directement sur le microcontrôleur. Le framework s’appuie sur Qt Quick pour créer des interfaces utilisateur avec QML (Qt Meta-object Language). Le module Qt Quick possède une API C++ permettant d’étendre les applications QML avec du code C++. Qt for MCUs contient une série de Qt Quick Controls, c’est-à-dire des contrôles prédéfinis destinés à simplifier la création d’interfaces utilisateur.

Qt for MCUs, qui est généralement disponible depuis décembre 2019, peut être utilisé au choix directement sur le processeur ou sur un système d’exploitation en temps réel (Real-time Operating System, RTOS). Pour l’exploitation bare metal, Qt for MCUs apporte son propre environnement d’exécution pour Qt Quick, qui peut être utilisé en combinaison avec des bibliothèques C++ de tiers.

Qt for MCUs 2.0 est légèrement en retard sur la feuille de route de Qt publiée en avril, qui prévoyait la version 2.0 pour l’automne et la version 2.1 pour décembre. Celle-ci devrait désormais paraître au printemps prochain et la version 2.2, prévue pour juin 2022, sera la première version LTS (Long-term Support) à recevoir des corrections de bugs pour au moins 18 mois. D’autres versions LTS devraient suivre à un rythme annuel. Au total, la Qt Company garantit des corrections de bugs pour la série 2.x pendant au moins trois ans.

De plus amples détails peuvent être trouvés sur le blog Qt.

Plus d'articles