{"id":134000,"date":"2026-05-05T12:00:51","date_gmt":"2026-05-05T10:00:51","guid":{"rendered":"https:\/\/riverdi.com\/blog\/lancer-lvgl-sur-lecran-deve"},"modified":"2026-05-05T12:00:51","modified_gmt":"2026-05-05T10:00:51","slug":"lancer-lvgl-sur-lecran-deve","status":"publish","type":"post","link":"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve","title":{"rendered":"Ex\u00e9cuter LVGL sur l&rsquo;\u00e9cran d&rsquo;EVE"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_87_1 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #002175;color:#002175\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #002175;color:#002175\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve\/#Comment_faire_tourner_LVGL_sur_lecran_Riverdi_EVE\" >Comment faire tourner LVGL sur l&rsquo;\u00e9cran Riverdi EVE<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve\/#Materiel_utilise\" >Mat\u00e9riel utilis\u00e9<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve\/#Configuration_logicielle_requise\" >Configuration logicielle requise<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve\/#Comprendre_larchitecture_de_rendu_dEVE\" >Comprendre l&rsquo;architecture de rendu d&rsquo;EVE<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve\/#Blocs_de_memoire_cles_dEVE\" >Blocs de m\u00e9moire cl\u00e9s d&rsquo;EVE<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve\/#Comment_LVGL_sintegre_dans_le_pipeline\" >Comment LVGL s&rsquo;int\u00e8gre dans le pipeline<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve\/#Creer_le_projet_STM32\" >Cr\u00e9er le projet STM32<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve\/#Initialisation_de_LVGL_et_du_pilote_daffichage_EVE\" >Initialisation de LVGL et du pilote d&rsquo;affichage EVE<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve\/#Activer_la_saisie_tactile\" >Activer la saisie tactile<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve\/#Lancer_la_premiere_demo_LVGL\" >Lancer la premi\u00e8re d\u00e9mo LVGL<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve\/#Conclusion\" >Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Comment_faire_tourner_LVGL_sur_lecran_Riverdi_EVE\"><\/span>Comment faire tourner LVGL sur l&rsquo;\u00e9cran Riverdi EVE<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Pour faire tourner une interface graphique moderne sur un microcontr\u00f4leur, il faut g\u00e9n\u00e9ralement composer avec les framebuffers, les contraintes de m\u00e9moire et les compromis en mati\u00e8re de performances.<\/p>\n<p>Avec EVE, d\u00e9velopp\u00e9 par notre partenaire Bridgetek, le rendu des graphismes HMI haute qualit\u00e9, la gestion audio et la gestion tactile sont d\u00e9sormais pris en charge par le GPU. Parall\u00e8lement, LVGL, \u00e9galement partenaire de Riverdi, offre un framework d&rsquo;interface utilisateur flexible et tr\u00e8s r\u00e9pandu. <\/p>\n<p>Le r\u00e9sultat : avec cette configuration, tu peux cr\u00e9er des interfaces complexes sans pousser le microcontr\u00f4leur \u00e0 ses limites, et \u00e7a permet \u00e0 des processeurs pas chers de piloter des \u00e9crans couleur sophistiqu\u00e9s et d&rsquo;aspect professionnel avec une charge minimale<\/p>\n<p>Ce guide explique comment faire fonctionner LVGL sur un \u00e9cran intelligent Riverdi EVE4 \u00e0 l&rsquo;aide de la carte d&rsquo;\u00e9valuation Riverdi bas\u00e9e sur le STM32F4.<\/p>\n<p>Cet exemple utilise l&rsquo;\u00e9cran Riverdi <a href=\"https:\/\/riverdi.com\/fr\/product\/eve4-intelligent-display-rvt70hsbnwc00-b-7-inch-projete-capacitif-touch-panel-optical-bonding-uxtouch\">RVT70HSBNWC00-B<\/a> de 7 pouces, connect\u00e9 via <strong>SPI gr\u00e2ce \u00e0 l&rsquo;interface RiBUS.<\/strong><\/p>\n<p>Ce tutoriel a pour but de t&rsquo;expliquer comment :<\/p>\n<ul>\n<li>initialiser LVGL sur le microcontr\u00f4leur h\u00f4te<\/li>\n<li>connecter LVGL au moteur graphique EVE<\/li>\n<li>afficher les widgets LVGL \u00e0 l&rsquo;\u00e9cran<\/li>\n<li>activer l&rsquo;interaction tactile<\/li>\n<\/ul>\n<p>Contrairement aux \u00e9crans embarqu\u00e9s classiques, l&rsquo;architecture EVE ne n\u00e9cessite pas que le microcontr\u00f4leur h\u00f4te g\u00e9n\u00e8re un tampon d&rsquo;image complet. \u00c0 la place, l&rsquo;h\u00f4te envoie des commandes de dessin au GPU EVE, qui g\u00e9n\u00e8re l&rsquo;image finale. <\/p>\n<p>\u00c7a r\u00e9duit consid\u00e9rablement l&rsquo;utilisation de la m\u00e9moire et la charge du processeur sur le microcontr\u00f4leur.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Materiel_utilise\"><\/span>Mat\u00e9riel utilis\u00e9<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><img decoding=\"async\" class=\"alignnone wp-image-129399 size-full\" src=\"https:\/\/riverdi.com\/wp-content\/uploads\/2026\/05\/BLOG_Grafika_POMIEDZY-TEKSTY_1-3.png\" alt=\"\" width=\"826\" height=\"544\" srcset=\"https:\/\/riverdi.com\/wp-content\/uploads\/2026\/05\/BLOG_Grafika_POMIEDZY-TEKSTY_1-3.png 826w, https:\/\/riverdi.com\/wp-content\/uploads\/2026\/05\/BLOG_Grafika_POMIEDZY-TEKSTY_1-3-300x198.png 300w, https:\/\/riverdi.com\/wp-content\/uploads\/2026\/05\/BLOG_Grafika_POMIEDZY-TEKSTY_1-3-768x506.png 768w, https:\/\/riverdi.com\/wp-content\/uploads\/2026\/05\/BLOG_Grafika_POMIEDZY-TEKSTY_1-3-600x395.png 600w, https:\/\/riverdi.com\/wp-content\/uploads\/2026\/05\/BLOG_Grafika_POMIEDZY-TEKSTY_1-3-64x42.png 64w\" sizes=\"(max-width: 826px) 100vw, 826px\" \/><\/p>\n<p>Dans ce tutoriel, on utilise EVE4 (BT817Q). D&rsquo;apr\u00e8s la documentation LVGL, \u00e7a devrait aussi marcher sur d&rsquo;autres versions d&rsquo;EVE, mais \u00e7a n&rsquo;a pas encore \u00e9t\u00e9 test\u00e9. <\/p>\n<p>Les composants mat\u00e9riels suivants sont utilis\u00e9s dans ce tutoriel.<\/p>\n<p><strong>Riverdi RVT70HSBNWC00-B<\/strong><\/p>\n<ul>\n<li>\u00c9cran intelligent EVE4 de 7 pouces<\/li>\n<li>R\u00e9solution : 1280 \u00d7 600<\/li>\n<li>Moteur graphique int\u00e9gr\u00e9 BT817Q<\/li>\n<li>\u00c9cran tactile capacitif projet\u00e9<\/li>\n<\/ul>\n<p><strong>Carte d&rsquo;\u00e9valuation Riverdi<\/strong><\/p>\n<ul>\n<li>Microcontr\u00f4leur STM32F4<\/li>\n<\/ul>\n<p><strong>ST-Link<\/strong><\/p>\n<ul>\n<li>utilis\u00e9 pour la programmation et le d\u00e9bogage<\/li>\n<\/ul>\n<p><strong>C\u00e2ble plat RiBUS<\/strong><\/p>\n<ul>\n<li>utilis\u00e9 pour la communication SPI entre l&rsquo;h\u00f4te et le module EVE<\/li>\n<\/ul>\n<p><strong>C\u00e2bles micro-USB<\/strong><\/p>\n<ul>\n<li>un pour ST-Link<\/li>\n<li>un pour alimenter la carte d&rsquo;\u00e9valuation<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Configuration_logicielle_requise\"><\/span>Configuration logicielle requise<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Avant de commencer le processus d\u2019int\u00e9gration, il faut pr\u00e9parer plusieurs composants logiciels. Le projet est d\u00e9velopp\u00e9 \u00e0 l\u2019aide de <strong>STM32CubeIDE<\/strong> comme environnement de d\u00e9veloppement, avec <strong>LVGL<\/strong> qui fournit le framework d\u2019interface utilisateur graphique. La communication avec le moteur graphique EVE est g\u00e9r\u00e9e par les biblioth\u00e8ques de support Riverdi EVE, qui impl\u00e9mentent l\u2019interface de bas niveau entre le microcontr\u00f4leur h\u00f4te et le GPU BT817.  <\/p>\n<p>Dans cette configuration, LVGL ne rend pas directement les pixels dans un tampon d&rsquo;image. \u00c0 la place, les op\u00e9rations de dessin de LVGL sont converties en commandes EVE qui sont envoy\u00e9es au GPU via SPI. Le p\u00e9riph\u00e9rique EVE ex\u00e9cute ensuite ces commandes pour afficher l&rsquo;image finale \u00e0 l&rsquo;\u00e9cran.  <\/p>\n<p>Les outils logiciels suivants sont n\u00e9cessaires :<\/p>\n<p><strong>STM32CubeIDE<\/strong> (ou un autre IDE)<\/p>\n<ul>\n<li>environnement de d\u00e9veloppement pour les projets STM32<\/li>\n<li>servant \u00e0 configurer les p\u00e9riph\u00e9riques, \u00e0 compiler le projet et \u00e0 programmer le microcontr\u00f4leur<\/li>\n<\/ul>\n<p><strong>Biblioth\u00e8que graphique LVGL<\/strong><\/p>\n<ul>\n<li>framework d&rsquo;interface graphique embarqu\u00e9 servant \u00e0 cr\u00e9er l&rsquo;interface utilisateur<\/li>\n<li>fournit des widgets, un syst\u00e8me de mise en page et la gestion des \u00e9v\u00e9nements<\/li>\n<\/ul>\n<p><strong>Biblioth\u00e8ques de support Riverdi EVE<\/strong><\/p>\n<ul>\n<li>permettre une communication de bas niveau avec le GPU EVE]<\/li>\n<li>g\u00e9rer les transactions SPI et l&rsquo;acc\u00e8s au FIFO de commandes<\/li>\n<\/ul>\n<p><strong>Git<\/strong><\/p>\n<ul>\n<li>\u00e7a sert \u00e0 t\u00e9l\u00e9charger des d\u00e9p\u00f4ts et des projets d&rsquo;exemple<\/li>\n<\/ul>\n<p>Pour trouver le projet, rends-toi sur <a href=\"https:\/\/github.com\/riverdi\">le site GitHub de Riverdi<\/a> et cherche le d\u00e9p\u00f4t <a href=\"https:\/\/github.com\/riverdi\/EVE-LVGL\">EVE-LVGL<\/a>.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Comprendre_larchitecture_de_rendu_dEVE\"><\/span>Comprendre l&rsquo;architecture de rendu d&rsquo;EVE<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Une diff\u00e9rence majeure entre les \u00e9crans EVE et les \u00e9crans embarqu\u00e9s classiques r\u00e9side dans la mani\u00e8re dont les images sont g\u00e9n\u00e9r\u00e9es. Dans la plupart des syst\u00e8mes embarqu\u00e9s, le microcontr\u00f4leur (MCU) affiche les pixels dans une m\u00e9moire tampon d&rsquo;image, qui est ensuite lue en continu par le contr\u00f4leur d&rsquo;affichage pour rafra\u00eechir l&rsquo;\u00e9cran <\/p>\n<p>Les appareils EVE adoptent une approche diff\u00e9rente. Au lieu d&rsquo;envoyer un tampon de trame, le microcontr\u00f4leur h\u00f4te envoie des commandes de dessin au GPU. Ces commandes d\u00e9crivent ce qui doit \u00eatre affich\u00e9 \u00e0 l&rsquo;\u00e9cran, tandis que le moteur graphique EVE g\u00e9n\u00e8re les pixels finaux en interne.  <\/p>\n<p>\u00c7a r\u00e9duit consid\u00e9rablement l&rsquo;utilisation de la m\u00e9moire et les besoins en bande passante sur le microcontr\u00f4leur.<\/p>\n<p>L&rsquo;image rendue est d\u00e9finie par une structure appel\u00e9e \u00ab liste d&rsquo;affichage \u00bb. La liste d&rsquo;affichage est une s\u00e9quence de commandes GPU ex\u00e9cut\u00e9es \u00e0 chaque image pour g\u00e9n\u00e9rer l&rsquo;image finale. <\/p>\n<p>Voici donc \u00e0 quoi ressemble un pipeline d&rsquo;affichage simplifi\u00e9 :<\/p>\n<p>MCU \u2192 commandes d&rsquo;affichage \u2192 GPU EVE \u2192 \u00e9cran LCD<\/p>\n<p>C&rsquo;est gr\u00e2ce \u00e0 cette architecture bas\u00e9e sur des commandes que des interfaces graphiques complexes peuvent fonctionner sur des microcontr\u00f4leurs relativement petits.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Blocs_de_memoire_cles_dEVE\"><\/span>Blocs de m\u00e9moire cl\u00e9s d&rsquo;EVE<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>En interne, le GPU EVE utilise plusieurs zones de m\u00e9moire pour traiter les commandes graphiques.<\/p>\n<p><strong>RAM_DL<\/strong><\/p>\n<ul>\n<li>stocke la liste d&rsquo;affichage utilis\u00e9e pour afficher l&rsquo;image actuelle<\/li>\n<\/ul>\n<p><strong>RAM_G<\/strong><\/p>\n<ul>\n<li>m\u00e9moire graphique polyvalente utilis\u00e9e pour les images, les polices et d&rsquo;autres ressources<\/li>\n<\/ul>\n<p><strong>FIFO de commandes<\/strong><\/p>\n<ul>\n<li>tampon utilis\u00e9 par le coprocesseur pour recevoir les commandes de la microcontr\u00f4leuse<\/li>\n<\/ul>\n<p>Le microcontr\u00f4leur h\u00f4te \u00e9crit des commandes dans la file d&rsquo;attente FIFO de commandes. Le coprocesseur EVE interpr\u00e8te ces commandes et construit la liste d&rsquo;affichage stock\u00e9e dans RAM_DL. Pendant le cycle de rafra\u00eechissement de l&rsquo;\u00e9cran, le GPU ex\u00e9cute la liste d&rsquo;affichage et g\u00e9n\u00e8re l&rsquo;image finale.  <\/p>\n<h3><span class=\"ez-toc-section\" id=\"Comment_LVGL_sintegre_dans_le_pipeline\"><\/span>Comment LVGL s&rsquo;int\u00e8gre dans le pipeline<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Quand on utilise LVGL avec des \u00e9crans classiques, \u00e7a affiche les pixels dans un tampon d&rsquo;image situ\u00e9 dans la m\u00e9moire du microcontr\u00f4leur. Avec les \u00e9crans EVE, le processus est diff\u00e9rent. <\/p>\n<p>Les op\u00e9rations de dessin LVGL sont converties en commandes GPU EVE, qui sont envoy\u00e9es au p\u00e9riph\u00e9rique via SPI. Le GPU g\u00e9n\u00e8re ensuite la liste d&rsquo;affichage et effectue le rendu de l&rsquo;image en interne. <\/p>\n<p>Le flux obtenu ressemble \u00e0 \u00e7a :<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-129407 size-full\" src=\"https:\/\/riverdi.com\/wp-content\/uploads\/2026\/05\/BLOG_grafika_POMIEDZY-TEKSTY_2-2.png\" alt=\"\" width=\"826\" height=\"320\" srcset=\"https:\/\/riverdi.com\/wp-content\/uploads\/2026\/05\/BLOG_grafika_POMIEDZY-TEKSTY_2-2.png 826w, https:\/\/riverdi.com\/wp-content\/uploads\/2026\/05\/BLOG_grafika_POMIEDZY-TEKSTY_2-2-300x116.png 300w, https:\/\/riverdi.com\/wp-content\/uploads\/2026\/05\/BLOG_grafika_POMIEDZY-TEKSTY_2-2-768x298.png 768w, https:\/\/riverdi.com\/wp-content\/uploads\/2026\/05\/BLOG_grafika_POMIEDZY-TEKSTY_2-2-600x232.png 600w, https:\/\/riverdi.com\/wp-content\/uploads\/2026\/05\/BLOG_grafika_POMIEDZY-TEKSTY_2-2-64x25.png 64w\" sizes=\"(max-width: 826px) 100vw, 826px\" \/><\/p>\n<p>\u00c7a permet \u00e0 LVGL de faire tourner des interfaces utilisateur complexes tout en limitant consid\u00e9rablement l&rsquo;utilisation de la m\u00e9moire du microcontr\u00f4leur.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Creer_le_projet_STM32\"><\/span>Cr\u00e9er le projet STM32<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>La prochaine \u00e9tape, c&rsquo;est de pr\u00e9parer le projet de d\u00e9veloppement pour la carte d&rsquo;\u00e9valuation Riverdi. Le microcontr\u00f4leur h\u00f4te ex\u00e9cutera le framework LVGL et communiquera avec le GPU EVE via SPI. <\/p>\n<p>Commence par cr\u00e9er un nouveau projet STM32 dans STM32CubeIDE pour le microcontr\u00f4leur utilis\u00e9 sur la carte d&rsquo;\u00e9valuation. Une fois le projet cr\u00e9\u00e9, configure les p\u00e9riph\u00e9riques n\u00e9cessaires pour communiquer avec le dispositif EVE. <\/p>\n<p>L&rsquo;interface la plus importante, c&rsquo;est le SPI, qui sert \u00e0 transmettre des commandes et des donn\u00e9es entre le microcontr\u00f4leur et le contr\u00f4leur graphique EVE.<\/p>\n<p>En plus du SPI, plusieurs signaux de contr\u00f4le doivent \u00eatre configur\u00e9s en broches GPIO. Ces signaux servent \u00e0 contr\u00f4ler l&rsquo;\u00e9tat d&rsquo;alimentation du dispositif EVE et \u00e0 g\u00e9rer la communication avec le GPU. <\/p>\n<p>Les signaux habituels requis par l&rsquo;interface EVE sont notamment :<\/p>\n<p><strong>CS<\/strong><\/p>\n<ul>\n<li>signal de s\u00e9lection de puce pour la communication SPI<\/li>\n<\/ul>\n<p><strong>PD<\/strong><\/p>\n<ul>\n<li>broche de contr\u00f4le de mise hors tension servant \u00e0 r\u00e9initialiser ou \u00e0 red\u00e9marrer le dispositif EVE<\/li>\n<\/ul>\n<p><strong>INT<\/strong><\/p>\n<ul>\n<li>ligne d&rsquo;interruption utilis\u00e9e par le GPU pour signaler des \u00e9v\u00e9nements au microcontr\u00f4leur h\u00f4te<\/li>\n<\/ul>\n<p>Une fois l&rsquo;interface SPI et les signaux GPIO configur\u00e9s, tu peux compiler le projet et le flasher sur la carte pour v\u00e9rifier que la configuration mat\u00e9rielle de base fonctionne.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Initialisation_de_LVGL_et_du_pilote_daffichage_EVE\"><\/span>Initialisation de LVGL et du pilote d&rsquo;affichage EVE<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Une fois l&rsquo;environnement du projet pr\u00eat, il faut initialiser la biblioth\u00e8que LVGL. Cette \u00e9tape pr\u00e9pare les structures internes de LVGL et active le moteur graphique. <\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">lv_init();\n<\/pre>\n<p>LVGL propose un pilote d&rsquo;affichage d\u00e9di\u00e9 aux GPU EVE. Ce pilote convertit les op\u00e9rations de dessin LVGL en commandes comprises par le moteur graphique EVE. <\/p>\n<p>Le pilote d&rsquo;affichage est cr\u00e9\u00e9 \u00e0 l&rsquo;aide de la fonction <em>lv_draw_eve_display_create()<\/em>.<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">lv_display_t * disp = lv_draw_eve_display_create(\n  1280,\n  600,\n  LV_DISPLAY_RENDER_MODE_DIRECT\n);\n<\/pre>\n<p>Ces param\u00e8tres d\u00e9finissent la r\u00e9solution de l&rsquo;\u00e9cran. Dans cet exemple, on utilise la r\u00e9solution <strong>1280&#215;600<\/strong> de l&rsquo;\u00e9cran Riverdi RVT70HSBNWC00-B. <\/p>\n<h3><span class=\"ez-toc-section\" id=\"Activer_la_saisie_tactile\"><\/span>Activer la saisie tactile<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>L&rsquo;\u00e9cran Riverdi EVE int\u00e8gre un contr\u00f4leur tactile capacitif accessible via l&rsquo;interface GPU EVE.<\/p>\n<p>LVGL propose une fonction d&rsquo;aide qui permet de cr\u00e9er un pilote de p\u00e9riph\u00e9rique d&rsquo;entr\u00e9e reli\u00e9 au moteur tactile EVE.<\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">lv_draw_eve_touch_create(disp);\n<\/pre>\n<p>Une fois cette fonction appel\u00e9e, les coordonn\u00e9es tactiles d\u00e9tect\u00e9es par le contr\u00f4leur EVE sont automatiquement transmises \u00e0 LVGL et converties en \u00e9v\u00e9nements d&rsquo;entr\u00e9e.<\/p>\n<p>\u00c7a permet aux widgets LVGL, comme les boutons, les curseurs et les listes, de r\u00e9agir aux actions de l&rsquo;utilisateur.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Lancer_la_premiere_demo_LVGL\"><\/span>Lancer la premi\u00e8re d\u00e9mo LVGL<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Une fois que les pilotes d&rsquo;affichage et d&rsquo;entr\u00e9e ont \u00e9t\u00e9 initialis\u00e9s, le syst\u00e8me est pr\u00eat \u00e0 afficher la premi\u00e8re interface graphique.<\/p>\n<p>Pour v\u00e9rifier facilement que l&rsquo;int\u00e9gration fonctionne, tu peux cr\u00e9er un \u00e9cran avec plusieurs widgets LVGL standard. Tu trouveras ci-dessous un exemple de code : <\/p>\n<pre style=\"white-space: break-spaces; padding: 15px; border: solid 1px; word-wrap: break-word; background-color: #f2f6ff;\">static void create_test_ui(void)\n{\n  lv_obj_t * scr = lv_screen_active();\n\n  \/* Contexte *\/\n  lv_obj_set_style_bg_color(scr, COLOR_BG, 0);\n  lv_obj_set_style_bg_opa(scr, LV_OPA_COVER, 0);\n\n  \/* Titre *\/\n  lv_obj_t * title = lv_label_create(scr);\n  lv_label_set_text(title, \"LVGL sur Riverdi EVE\");\n  lv_obj_set_style_text_font(title, &lv_font_montserrat_44, 0);\n  lv_obj_set_style_text_color(title, COLOR_TEXT, 0);\n  lv_obj_align(title, LV_ALIGN_TOP_MID, 0, 48);\n\n  \/* Sous-titre *\/\n  lv_obj_t * subtitle = lv_label_create(scr);\n  lv_label_set_text(subtitle, \u00ab Test de compatibilit\u00e9 de base des widgets \u00bb);\n  lv_obj_set_style_text_font(subtitle, &lv_font_montserrat_24, 0);\n  lv_obj_set_style_text_color(subtitle, COLOR_TEXT, 0);\n  lv_obj_align(subtitle, LV_ALIGN_TOP_MID, 0, 100);\n\n  \/* --- ancrages de mise en page --- *\/\n  int start_y = 170 ;\n  int col_left = 180 ;\n  int col_right = 640 ;\n\n  \/* Bouton *\/\n  lv_obj_t * btn = lv_button_create(scr);\n  lv_obj_set_size(btn, 200, 60);\n  lv_obj_align(btn, LV_ALIGN_TOP_LEFT, col_left, start_y);\n  lv_obj_set_style_bg_color(btn, COLOR_ACCENT, 0);\n\n  lv_obj_t * btn_label = lv_label_create(btn);\n  lv_label_set_text(btn_label, \"Bouton\");\n  lv_obj_center(btn_label);\n\n  \/* Curseur *\/\n  lv_obj_t * slider = lv_slider_create(scr);\n  lv_obj_set_width(slider, 260);\n  lv_obj_align(slider, LV_ALIGN_TOP_LEFT, col_right, start_y + 15);\n  lv_slider_set_value(slider, 45, LV_ANIM_OFF);\n\n  lv_obj_set_style_bg_color(slider, COLOR_WIDGET, LV_PART_MAIN);\n  lv_obj_set_style_bg_color(slider, COLOR_ACCENT, LV_PART_INDICATOR);\n\n  \/* Commutateur *\/\n  lv_obj_t * sw = lv_switch_create(scr);\n  lv_obj_align(sw, LV_ALIGN_TOP_LEFT, col_left, start_y + 120);\n\n  lv_obj_t * sw_label = lv_label_create(scr);\n  lv_label_set_text(sw_label, \"Commutateur\");\n  lv_obj_set_style_text_color(sw_label, COLOR_TEXT, 0);\n  lv_obj_align_to(sw_label, sw, LV_ALIGN_OUT_RIGHT_MID, 20, 0);\n\n  \/* Case \u00e0 cocher *\/\n  lv_obj_t * cb = lv_checkbox_create(scr);\n  lv_checkbox_set_text(cb, \u00ab Case \u00e0 cocher \u00bb);\n  lv_obj_set_style_text_color(cb, COLOR_TEXT, 0);\n  lv_obj_align(cb, LV_ALIGN_TOP_LEFT, col_right, start_y + 120) ;\n\n  \/* Bar *\/\n  lv_obj_t * bar = lv_bar_create(scr);\n  lv_obj_set_size(bar, 500, 20);\n  lv_obj_align(bar, LV_ALIGN_TOP_MID, 0, start_y + 220);\n  lv_bar_set_value(bar, 70, LV_ANIM_OFF);\n\n  lv_obj_set_style_bg_color(bar, COLOR_WIDGET, LV_PART_MAIN);\n  lv_obj_set_style_bg_color(bar, COLOR_ACCENT, LV_PART_INDICATOR);\n\n  lv_obj_t * bar_label = lv_label_create(scr);\n  lv_label_set_text(bar_label, \"Bar\");\n  lv_obj_set_style_text_color(bar_label, COLOR_TEXT, 0);\n  lv_obj_align_to(bar_label, bar, LV_ALIGN_OUT_TOP_MID, 0, -8);\n}\n\n<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Dans ce guide, on t&rsquo;a montr\u00e9 comment faire tourner LVGL sur un \u00e9cran Riverdi EVE4 en utilisant la carte d&rsquo;\u00e9valuation Riverdi comme plateforme h\u00f4te.<\/p>\n<p>Au lieu d&rsquo;afficher un framebuffer classique sur le microcontr\u00f4leur, le syst\u00e8me utilise le moteur graphique EVE pour g\u00e9n\u00e9rer l&rsquo;image finale. Le microcontr\u00f4leur h\u00f4te envoie des commandes de dessin via SPI, tandis que le GPU BT817 construit la liste d&rsquo;affichage et affiche l&rsquo;image \u00e0 l&rsquo;\u00e9cran. <\/p>\n<p>Cette architecture permet d&rsquo;ex\u00e9cuter des interfaces graphiques complexes sur des microcontr\u00f4leurs relativement petits, tout en limitant la consommation de m\u00e9moire et la charge du processeur.<\/p>\n<p>Une fois que le pilote d&rsquo;affichage est correctement initialis\u00e9, tu peux utiliser LVGL pour cr\u00e9er des applications graphiques compl\u00e8tes, exactement comme avec les autres pilotes d&rsquo;affichage pris en charge.<\/p>\n<p>\u00c0 partir de l\u00e0, les d\u00e9veloppeurs peuvent commencer \u00e0 cr\u00e9er leurs propres interfaces en utilisant les widgets, les mises en page et les m\u00e9canismes de gestion des \u00e9v\u00e9nements de LVGL.<\/p>\n<p>D&rsquo;autres mesures pourraient inclure :<\/p>\n<ul>\n<li>Int\u00e9gration d&rsquo;\u00e9crans personnalis\u00e9s et de la logique d&rsquo;application<\/li>\n<li>Ajouter des images et des polices stock\u00e9es dans EVE RAM_G<\/li>\n<li>Optimisation de la communication SPI pour am\u00e9liorer les performances de rendu<\/li>\n<\/ul>\n<p>Pour \u00e7a, va jeter un \u0153il sur le <a href=\"https:\/\/lvgl.io\/docs\/open\/integration\/external_display_controllers\/eve\">site de documentation de LVGL<\/a> et explore notre <a href=\"https:\/\/github.com\/riverdi\">d\u00e9p\u00f4t GitHub Riverdi.<\/a><\/p>\n<p><iframe style=\"aspect-ratio: 16\/9;\" title=\"\" src=\"https:\/\/www.youtube.com\/embed\/UEyqY8DMToA\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><span data-mce-type=\"bookmark\" style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" class=\"mce_SELRES_start\"><\/span><span data-mce-type=\"bookmark\" style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" class=\"mce_SELRES_start\"><\/span><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Comment faire tourner LVGL sur l&rsquo;\u00e9cran Riverdi EVE Pour faire tourner une interface graphique moderne sur un microcontr\u00f4leur, il faut g\u00e9n\u00e9ralement composer avec les framebuffers, les contraintes de m\u00e9moire et les compromis en mati\u00e8re de performances. Avec EVE, d\u00e9velopp\u00e9 par notre partenaire Bridgetek, le rendu des graphismes HMI haute qualit\u00e9, la gestion audio et la [&hellip;]<\/p>\n","protected":false},"author":3328,"featured_media":129395,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","inline_featured_image":false,"footnotes":""},"categories":[1457],"tags":[],"class_list":["post-134000","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-affichage-101"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Ex\u00e9cuter LVGL sur l&#039;\u00e9cran d&#039;EVE - Riverdi<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ex\u00e9cuter LVGL sur l&#039;\u00e9cran d&#039;EVE - Riverdi\" \/>\n<meta property=\"og:description\" content=\"Comment faire tourner LVGL sur l&rsquo;\u00e9cran Riverdi EVE Pour faire tourner une interface graphique moderne sur un microcontr\u00f4leur, il faut g\u00e9n\u00e9ralement composer avec les framebuffers, les contraintes de m\u00e9moire et les compromis en mati\u00e8re de performances. Avec EVE, d\u00e9velopp\u00e9 par notre partenaire Bridgetek, le rendu des graphismes HMI haute qualit\u00e9, la gestion audio et la [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve\" \/>\n<meta property=\"og:site_name\" content=\"Riverdi\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/riverdi.displays\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-05T10:00:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/riverdi.com\/wp-content\/uploads\/2026\/05\/BLOG_COVER_LVGL-on-EVE.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Rafa\u0142 F\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@riverdidisplays\" \/>\n<meta name=\"twitter:site\" content=\"@riverdidisplays\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Rafa\u0142 F\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/riverdi.com\\\/fr\\\/blog\\\/lancer-lvgl-sur-lecran-deve#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/riverdi.com\\\/fr\\\/blog\\\/lancer-lvgl-sur-lecran-deve\"},\"author\":{\"name\":\"Rafa\u0142 F\",\"@id\":\"https:\\\/\\\/riverdi.com\\\/fr#\\\/schema\\\/person\\\/dac328f88dda36bae87261c19a2e30ef\"},\"headline\":\"Ex\u00e9cuter LVGL sur l&rsquo;\u00e9cran d&rsquo;EVE\",\"datePublished\":\"2026-05-05T10:00:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/riverdi.com\\\/fr\\\/blog\\\/lancer-lvgl-sur-lecran-deve\"},\"wordCount\":1872,\"image\":{\"@id\":\"https:\\\/\\\/riverdi.com\\\/fr\\\/blog\\\/lancer-lvgl-sur-lecran-deve#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/riverdi.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/BLOG_COVER_LVGL-on-EVE.jpg\",\"articleSection\":[\"Affichage 101\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/riverdi.com\\\/fr\\\/blog\\\/lancer-lvgl-sur-lecran-deve\",\"url\":\"https:\\\/\\\/riverdi.com\\\/fr\\\/blog\\\/lancer-lvgl-sur-lecran-deve\",\"name\":\"Ex\u00e9cuter LVGL sur l'\u00e9cran d'EVE - Riverdi\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/riverdi.com\\\/fr#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/riverdi.com\\\/fr\\\/blog\\\/lancer-lvgl-sur-lecran-deve#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/riverdi.com\\\/fr\\\/blog\\\/lancer-lvgl-sur-lecran-deve#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/riverdi.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/BLOG_COVER_LVGL-on-EVE.jpg\",\"datePublished\":\"2026-05-05T10:00:51+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/riverdi.com\\\/fr#\\\/schema\\\/person\\\/dac328f88dda36bae87261c19a2e30ef\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/riverdi.com\\\/fr\\\/blog\\\/lancer-lvgl-sur-lecran-deve#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/riverdi.com\\\/fr\\\/blog\\\/lancer-lvgl-sur-lecran-deve\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/riverdi.com\\\/fr\\\/blog\\\/lancer-lvgl-sur-lecran-deve#primaryimage\",\"url\":\"https:\\\/\\\/riverdi.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/BLOG_COVER_LVGL-on-EVE.jpg\",\"contentUrl\":\"https:\\\/\\\/riverdi.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/BLOG_COVER_LVGL-on-EVE.jpg\",\"width\":1280,\"height\":600},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/riverdi.com\\\/fr\\\/blog\\\/lancer-lvgl-sur-lecran-deve#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Front Page\",\"item\":\"https:\\\/\\\/riverdi.com\\\/fr\\\/page-daccueil\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ex\u00e9cuter LVGL sur l&rsquo;\u00e9cran d&rsquo;EVE\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/riverdi.com\\\/fr#website\",\"url\":\"https:\\\/\\\/riverdi.com\\\/fr\",\"name\":\"Riverdi\",\"description\":\"Global TFT LCD Manufacturer\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/riverdi.com\\\/fr?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/riverdi.com\\\/fr#\\\/schema\\\/person\\\/dac328f88dda36bae87261c19a2e30ef\",\"name\":\"Rafa\u0142 F\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b208bcbc75c8894f7448c2283e1f99dd68d97018826b56edce8aeb3c8c3985ee?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b208bcbc75c8894f7448c2283e1f99dd68d97018826b56edce8aeb3c8c3985ee?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b208bcbc75c8894f7448c2283e1f99dd68d97018826b56edce8aeb3c8c3985ee?s=96&d=mm&r=g\",\"caption\":\"Rafa\u0142 F\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ex\u00e9cuter LVGL sur l'\u00e9cran d'EVE - Riverdi","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve","og_locale":"fr_FR","og_type":"article","og_title":"Ex\u00e9cuter LVGL sur l'\u00e9cran d'EVE - Riverdi","og_description":"Comment faire tourner LVGL sur l&rsquo;\u00e9cran Riverdi EVE Pour faire tourner une interface graphique moderne sur un microcontr\u00f4leur, il faut g\u00e9n\u00e9ralement composer avec les framebuffers, les contraintes de m\u00e9moire et les compromis en mati\u00e8re de performances. Avec EVE, d\u00e9velopp\u00e9 par notre partenaire Bridgetek, le rendu des graphismes HMI haute qualit\u00e9, la gestion audio et la [&hellip;]","og_url":"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve","og_site_name":"Riverdi","article_publisher":"https:\/\/www.facebook.com\/riverdi.displays\/","article_published_time":"2026-05-05T10:00:51+00:00","og_image":[{"width":1280,"height":600,"url":"https:\/\/riverdi.com\/wp-content\/uploads\/2026\/05\/BLOG_COVER_LVGL-on-EVE.jpg","type":"image\/jpeg"}],"author":"Rafa\u0142 F","twitter_card":"summary_large_image","twitter_creator":"@riverdidisplays","twitter_site":"@riverdidisplays","twitter_misc":{"\u00c9crit par":"Rafa\u0142 F","Dur\u00e9e de lecture estim\u00e9e":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve#article","isPartOf":{"@id":"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve"},"author":{"name":"Rafa\u0142 F","@id":"https:\/\/riverdi.com\/fr#\/schema\/person\/dac328f88dda36bae87261c19a2e30ef"},"headline":"Ex\u00e9cuter LVGL sur l&rsquo;\u00e9cran d&rsquo;EVE","datePublished":"2026-05-05T10:00:51+00:00","mainEntityOfPage":{"@id":"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve"},"wordCount":1872,"image":{"@id":"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve#primaryimage"},"thumbnailUrl":"https:\/\/riverdi.com\/wp-content\/uploads\/2026\/05\/BLOG_COVER_LVGL-on-EVE.jpg","articleSection":["Affichage 101"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve","url":"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve","name":"Ex\u00e9cuter LVGL sur l'\u00e9cran d'EVE - Riverdi","isPartOf":{"@id":"https:\/\/riverdi.com\/fr#website"},"primaryImageOfPage":{"@id":"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve#primaryimage"},"image":{"@id":"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve#primaryimage"},"thumbnailUrl":"https:\/\/riverdi.com\/wp-content\/uploads\/2026\/05\/BLOG_COVER_LVGL-on-EVE.jpg","datePublished":"2026-05-05T10:00:51+00:00","author":{"@id":"https:\/\/riverdi.com\/fr#\/schema\/person\/dac328f88dda36bae87261c19a2e30ef"},"breadcrumb":{"@id":"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve#primaryimage","url":"https:\/\/riverdi.com\/wp-content\/uploads\/2026\/05\/BLOG_COVER_LVGL-on-EVE.jpg","contentUrl":"https:\/\/riverdi.com\/wp-content\/uploads\/2026\/05\/BLOG_COVER_LVGL-on-EVE.jpg","width":1280,"height":600},{"@type":"BreadcrumbList","@id":"https:\/\/riverdi.com\/fr\/blog\/lancer-lvgl-sur-lecran-deve#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Front Page","item":"https:\/\/riverdi.com\/fr\/page-daccueil"},{"@type":"ListItem","position":2,"name":"Ex\u00e9cuter LVGL sur l&rsquo;\u00e9cran d&rsquo;EVE"}]},{"@type":"WebSite","@id":"https:\/\/riverdi.com\/fr#website","url":"https:\/\/riverdi.com\/fr","name":"Riverdi","description":"Global TFT LCD Manufacturer","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/riverdi.com\/fr?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/riverdi.com\/fr#\/schema\/person\/dac328f88dda36bae87261c19a2e30ef","name":"Rafa\u0142 F","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/b208bcbc75c8894f7448c2283e1f99dd68d97018826b56edce8aeb3c8c3985ee?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/b208bcbc75c8894f7448c2283e1f99dd68d97018826b56edce8aeb3c8c3985ee?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b208bcbc75c8894f7448c2283e1f99dd68d97018826b56edce8aeb3c8c3985ee?s=96&d=mm&r=g","caption":"Rafa\u0142 F"}}]}},"_links":{"self":[{"href":"https:\/\/riverdi.com\/fr\/wp-json\/wp\/v2\/posts\/134000","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/riverdi.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/riverdi.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/riverdi.com\/fr\/wp-json\/wp\/v2\/users\/3328"}],"replies":[{"embeddable":true,"href":"https:\/\/riverdi.com\/fr\/wp-json\/wp\/v2\/comments?post=134000"}],"version-history":[{"count":0,"href":"https:\/\/riverdi.com\/fr\/wp-json\/wp\/v2\/posts\/134000\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/riverdi.com\/fr\/wp-json\/wp\/v2\/media\/129395"}],"wp:attachment":[{"href":"https:\/\/riverdi.com\/fr\/wp-json\/wp\/v2\/media?parent=134000"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/riverdi.com\/fr\/wp-json\/wp\/v2\/categories?post=134000"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/riverdi.com\/fr\/wp-json\/wp\/v2\/tags?post=134000"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}