1.. _renesas: 2 3======= 4Renesas 5======= 6 7`Renesas <https://renesas.com/>`__ is an official partner of LVGL. Therefore, LVGL contains built-in support for 8`Dave2D <https://www.renesas.com/document/mas/tes-dave2d-driver-documentation>`__ (the GPU of Renesas) and we also maintain 9ready-to-use Renesas projects. 10 11 12Dave2D 13------ 14 15Dave2D is capable of accelerating most of the drawing operations of LVGL: 16 17- Rectangle drawing, even with gradients 18- Image drawing, scaling, and rotation 19- Letter drawing 20- Triangle drawing 21- Line drawing 22 23 24As Dave2D works in the background, the CPU is free for other tasks. In practice, during rendering, Dave2D can reduce the CPU usage by 25half or to one-third, depending on the application. 26 27 28GLCDC 29----- 30 31GLCDC is a multi-stage graphics output peripheral available in several Renesas MCUs. It is able to drive LCD panels via a highly 32configurable RGB interface. 33 34More info can be found at the :ref:`driver's page<renesas_glcdc>`. 35 36 37Supported boards 38---------------- 39 40.. list-table:: 41 :widths: 10 30 30 30 42 43 * - 44 - **EK-RA8D1** 45 - **EK-RA6M3G** 46 - **RX72N Envision Kit** 47 * - CPU 48 - 480MHz, Arm Cortex-M85 core 49 - 120MHz, Arm Cortex-M4 core 50 - 240MHz, Renesas RXv3 core 51 * - Memory 52 - 53 | 1MB internal, 64MB external SDRAM 54 | 2MB internal, 64MB External Octo-SPI Flash 55 - 56 | 640kB internal SRAM 57 | 2MB internal, 32MB external QSPI Flash 58 - 59 | 1MB internal SRAM 60 | 4MB internal, 32MB external QSPI Flash 61 * - Display 62 - 63 | 4.5” 64 | 480x854 65 | 2-lane MIPI 66 - 67 | 4.3” 68 | 480x272 69 | Parallel RGB565 70 - 71 | 4.3” 72 | 480x272 73 | Parallel RGB565 74 * - `Board <https://lvgl.io/boards>`__ video 75 - .. raw:: html 76 77 <iframe width="320" height="180" src="https://www.youtube.com/embed/WkJPB8wto_U" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> 78 79 - .. raw:: html 80 81 <iframe width="320" height="180" src="https://www.youtube.com/embed/0kar4Ee3Qic" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> 82 83 - .. raw:: html 84 85 <iframe width="320" height="180" src="https://www.youtube.com/embed/__56v8DsfH0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> 86 87 * - Links 88 - `Demo repository for EK-RA8D1 <https://github.com/lvgl/lv_port_renesas_ek-ra8d1>`__ 89 - `Demo repository for EK-RA6M3G <https://github.com/lvgl/lv_port_renesas_ek-ra6m3g>`__ 90 - `Demo repository for RX72N Envision Kit <https://github.com/lvgl/lv_port_renesas_rx72n-envision-kit>`__ 91 92 93Get started with the Renesas ecosystem 94-------------------------------------- 95 96.. |img_debug_btn| image:: /misc/renesas/debug_btn.png 97 :alt: Debug button 98 99.. dropdown:: RA Family 100 101 - The official IDE of Renesas is called e² studio. As it's Eclipse-based, it runs on Windows, Linux, and Mac as well. 102 The RA family requires the latest version with FSP 5.3. It can be downloaded `here <https://www.renesas.com/us/en/software-tool/flexible-software-package-fsp>`__. 103 - JLink is used for debugging, it can be downloaded `here <https://www.segger.com/downloads/jlink/>`__. 104 - Clone the ready-to-use repository for your selected board: 105 106 .. code-block:: shell 107 108 git clone https://github.com/lvgl/lv_port_renesas_ek-ra8d1.git --recurse-submodules 109 110 111 Downloading the `.zip` from GitHub doesn't work as it doesn't download the submodules. 112 - Open e² studio, go to ``File`` -> ``Import project`` and select ``General`` / ``Existing projects into workspace`` 113 - Browse the cloned folder and press ``Finish``. 114 - Double click on ``configuration.xml``. This will activate the `Configuration Window`. 115 116 Renesas' Flexible Software Package (FSP) includes BSP and HAL layer support extended with multiple RTOS variants and other middleware stacks. 117 The components will be available via code generation, including the entry point of *"main.c"*. 118 119 Press ``Generate Project Content`` in the top right corner. 120 121 .. image:: /misc/renesas/generate.png 122 :alt: Code generation with FSP 123 124 - Build the project by pressing ``Ctrl`` + ``Alt`` + ``B`` 125 - Click the Debug button (|img_debug_btn|). If prompted with `Debug Configurations`, on the `Debugger` tab select the ``J-Link ARM`` as `Debug hardware` and the proper IC as `Target Device`: 126 127 - ``R7FA8D1BH`` for EK-RA8D1 128 129 .. image:: /misc/renesas/debug_ra8.png 130 :alt: Debugger parameters for RA8 131 132 - ``R7FA6M3AH`` for EK-RA6M3G 133 134 .. image:: /misc/renesas/debug_ra6.png 135 :alt: Debugger parameters for RA6 136 137 .. note:: 138 On EK-RA8D1 boards, the ``SW1`` DIP switch (middle of the board) 7 should be ON, all others are OFF. 139 140.. dropdown:: RX Family 141 142 - The official IDE of Renesas is called e² studio. As it's Eclipse-based, it runs on Windows, Linux, and Mac as well. 143 It can be downloaded `here <https://www.renesas.com/us/en/software-tool/e-studio>`__. 144 - Download and install the required driver for the debugger 145 146 - for Windows: `64 bit here <https://www.renesas.com/us/en/document/uid/usb-driver-renesas-mcu-tools-v27700-64-bit-version-windows-os?r=488806>`__ 147 and `32 bit here <https://www.renesas.com/us/en/document/uid/usb-driver-renesas-mcu-toolse2e2-liteie850ie850apg-fp5-v27700for-32-bit-version-windows-os?r=488806>`__ 148 - for Linux: `here <https://www.renesas.com/us/en/document/swo/e2-emulator-e2-emulator-lite-linux-driver?r=488806>`__ 149 150 - RX72 requires an external compiler for the RXv3 core. A free and open-source version is available 151 `here <https://llvm-gcc-renesas.com/rx-download-toolchains/>`__ after a registration. 152 153 The compiler must be activated in e² studio: 154 155 - Go to go to ``Help`` -> ``Add Renesas Toolchains`` 156 - Press the ``Add...`` button 157 - Browse the installation folder of the toolchain 158 159 <br/> 160 161 .. image:: /misc/renesas/toolchains.png 162 :alt: Toolchains 163 164 - Clone the ready-to-use `lv_port_renesas_rx72n-envision-kit <https://github.com/lvgl/lv_port_renesas_rx72n-envision-kit.git>`__ repository: 165 166 .. code-block:: shell 167 168 git clone https://github.com/lvgl/lv_port_renesas_rx72n-envision-kit.git --recurse-submodules 169 170 171 Downloading the `.zip` from GitHub doesn't work as it doesn't download the submodules. 172 173 - Open e² studio, go to ``File`` -> ``Import project`` and select ``General`` / ``Existing projects into workspace`` 174 - Select the cloned folder and press ``Finish``. 175 - Double click on ``RX72N_EnVision_LVGL.scfg``. This will activate the `Configuration Window`. 176 177 Renesas' Smart Configurator (SMC) includes BSP and HAL layer support extended with multiple RTOS variants and other middleware stacks. 178 The components will be available via code generation, including the entry point of the application. 179 180 Press ``Generate Code`` in the top right corner. 181 182 .. image:: /misc/renesas/generate_smc.png 183 :alt: Code generation with SMC 184 185 - Build the project by pressing ``Ctrl`` + ``Alt`` + ``B`` 186 - Click the Debug button (|img_debug_btn|). If prompted with `Debug Configurations`, on the `Debugger` tab select the ``E2 Lite`` 187 as `Debug hardware` and ``R5F572NN`` as `Target Device`: 188 189 .. image:: /misc/renesas/debug_rx72.png 190 :alt: Debugger parameters for RX72 191 192 .. note:: 193 Make sure that both channels of ``SW1`` DIP switch (next to ``ECN1``) are OFF. 194 195 196Modify the project 197------------------ 198 199 200Open a demo 201~~~~~~~~~~~ 202 203The entry point of the main task is contained in ``src/LVGL_thread_entry.c`` in all 3 projects. 204 205You can disable the LVGL demos (or just comment them out) and call some ``lv_example_...()`` functions, or add your custom code. 206 207 208Configuration 209~~~~~~~~~~~~~ 210 211``src/lv_conf.h`` contains the most important settings for LVGL. Namely: 212 213- :c:macro:`LV_COLOR_DEPTH` to set LVGL's default color depth 214- :c:macro:`LV_MEM_SIZE` to set the maximum RAM available for LVGL 215- :c:macro:`LV_USE_DAVE2D` to enable the GPU 216 217 218Hardware and software components can be modified in a visual way using the `Configuration Window`. 219 220 221Support 222------- 223 224In case of any problems or questions open an issue in the corresponding repository. 225