mirror of
https://github.com/lvgl/lvgl.git
synced 2025-01-28 07:03:00 +08:00
a476098fcc
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
220 lines
8.6 KiB
ReStructuredText
220 lines
8.6 KiB
ReStructuredText
.. _renesas:
|
|
|
|
=======
|
|
Renesas
|
|
=======
|
|
|
|
`Renesas <https://renesas.com/>`__ is an official partner of LVGL.
|
|
Therefore, LVGL contains built-in support for `Dave2D <https://www.renesas.com/document/mas/tes-dave2d-driver-documentation>`__ (the GPU of Renesas)
|
|
and we also maintain ready-to-use Renesas projects.
|
|
|
|
Dave2D
|
|
------
|
|
|
|
Dave2D is capable of accelerating most of the drawing operations of LVGL:
|
|
|
|
- Rectangle drawing, even with gradients
|
|
- Image drawing, scaling, and rotation
|
|
- Letter drawing
|
|
- Triangle drawing
|
|
- Line drawing
|
|
|
|
As Dave2D works in the background, the CPU is free for other tasks. In practice, during rendering, Dave2D can reduce the CPU usage by half or to one-third, depending on the application.
|
|
|
|
GLCDC
|
|
-----
|
|
|
|
GLCDC is a multi-stage graphics output peripheral available in several Renesas MCUs.
|
|
It is able to drive LCD panels via a highly configurable RGB interface.
|
|
|
|
More info can be found at the :ref:`driver's page<renesas_glcdc>`.
|
|
|
|
Supported boards
|
|
----------------
|
|
|
|
.. list-table::
|
|
:widths: 10 30 30 30
|
|
|
|
* -
|
|
- **EK-RA8D1**
|
|
- **EK-RA6M3G**
|
|
- **RX72N Envision Kit**
|
|
* - CPU
|
|
- 480MHz, Arm Cortex-M85 core
|
|
- 120MHz, Arm Cortex-M4 core
|
|
- 240MHz, Renesas RXv3 core
|
|
* - Memory
|
|
-
|
|
| 1MB internal, 64MB external SDRAM
|
|
| 2MB internal, 64MB External Octo-SPI Flash
|
|
-
|
|
| 640kB internal SRAM
|
|
| 2MB internal, 32MB external QSPI Flash
|
|
-
|
|
| 1MB internal SRAM
|
|
| 4MB internal, 32MB external QSPI Flash
|
|
* - Display
|
|
-
|
|
| 4.5”
|
|
| 480x854
|
|
| 2-lane MIPI
|
|
-
|
|
| 4.3”
|
|
| 480x272
|
|
| Parallel RGB565
|
|
-
|
|
| 4.3”
|
|
| 480x272
|
|
| Parallel RGB565
|
|
* - `Board <https://lvgl.io/boards>`__ video
|
|
- .. raw:: html
|
|
|
|
<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>
|
|
|
|
- .. raw:: html
|
|
|
|
<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>
|
|
|
|
- .. raw:: html
|
|
|
|
<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>
|
|
|
|
* - Links
|
|
- `Demo repository for EK-RA8D1 <https://github.com/lvgl/lv_port_renesas_ek-ra8d1>`__
|
|
- `Demo repository for EK-RA6M3G <https://github.com/lvgl/lv_port_renesas_ek-ra6m3g>`__
|
|
- `Demo repository for RX72N Envision Kit <https://github.com/lvgl/lv_port_renesas_rx72n-envision-kit>`__
|
|
|
|
Get started with the Renesas ecosystem
|
|
--------------------------------------
|
|
|
|
.. |img_debug_btn| image:: /misc/renesas/debug_btn.png
|
|
:alt: Debug button
|
|
|
|
.. dropdown:: RA Family
|
|
|
|
- The official IDE of Renesas is called e² studio. As it's Eclipse-based, it runs on Windows, Linux, and Mac as well. 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>`__.
|
|
|
|
- JLink is used for debugging, it can be downloaded `here <https://www.segger.com/downloads/jlink/>`__.
|
|
|
|
|
|
- Clone the ready-to-use repository for your selected board:
|
|
|
|
.. code-block:: shell
|
|
|
|
git clone https://github.com/lvgl/lv_port_renesas_ek-ra8d1.git --recurse-submodules
|
|
|
|
Downloading the `.zip` from GitHub doesn't work as it doesn't download the submodules.
|
|
|
|
- Open e² studio, go to ``File`` -> ``Import project`` and select ``General`` / ``Existing projects into workspace``
|
|
|
|
- Browse the cloned folder and press ``Finish``.
|
|
|
|
- Double click on ``configuration.xml``. This will activate the `Configuration Window`.
|
|
|
|
Renesas' Flexible Software Package (FSP) incudes BSP and HAL layer support extended with multiple RTOS variants and other middleware stacks.
|
|
The components will be available via code generation, including the entry point of *"main.c"*.
|
|
|
|
Press ``Generate Project Content`` in the top right corner.
|
|
|
|
.. image:: /misc/renesas/generate.png
|
|
:alt: Code generation with FSP
|
|
|
|
- Build the project by pressing ``Ctrl`` + ``Alt`` + ``B``
|
|
|
|
- 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`:
|
|
|
|
- ``R7FA8D1BH`` for EK-RA8D1
|
|
|
|
.. image:: /misc/renesas/debug_ra8.png
|
|
:alt: Debugger parameters for RA8
|
|
|
|
- ``R7FA6M3AH`` for EK-RA6M3G
|
|
|
|
.. image:: /misc/renesas/debug_ra6.png
|
|
:alt: Debugger parameters for RA6
|
|
|
|
.. note::
|
|
On EK-RA8D1 boards, the ``SW1`` DIP switch (middle of the board) 7 should be ON, all others are OFF.
|
|
|
|
.. dropdown:: RX Family
|
|
|
|
- The official IDE of Renesas is called e² studio. As it's Eclipse-based, it runs on Windows, Linux, and Mac as well. It can be downloaded `here <https://www.renesas.com/us/en/software-tool/e-studio>`__.
|
|
|
|
- Download and install the required driver for the debugger
|
|
|
|
- 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>`__ 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>`__
|
|
- for Linux: `here <https://www.renesas.com/us/en/document/swo/e2-emulator-e2-emulator-lite-linux-driver?r=488806>`__
|
|
|
|
- RX72 requires an external compiler for the RXv3 core. A free and open-source version is available `here <https://llvm-gcc-renesas.com/rx-download-toolchains/>`__ after a registration.
|
|
|
|
The compiler must be activated in e² studio:
|
|
|
|
- Go to go to ``Help`` -> ``Add Renesas Toolchains``
|
|
- Press the ``Add...`` button
|
|
- Browse the installation folder of the toolchain
|
|
|
|
|
|
|
|
|
.. image:: /misc/renesas/toolchains.png
|
|
:alt: Toolchains
|
|
|
|
- Clone the ready-to-use `lv_port_renesas_rx72n-envision-kit <https://github.com/lvgl/lv_port_renesas_rx72n-envision-kit.git>`__ repository:
|
|
|
|
.. code-block:: shell
|
|
|
|
git clone https://github.com/lvgl/lv_port_renesas_rx72n-envision-kit.git --recurse-submodules
|
|
|
|
Downloading the `.zip` from GitHub doesn't work as it doesn't download the submodules.
|
|
|
|
- Open e² studio, go to ``File`` -> ``Import project`` and select ``General`` / ``Existing projects into workspace``
|
|
|
|
- Select the cloned folder and press ``Finish``.
|
|
|
|
- Double click on ``RX72N_EnVision_LVGL.scfg``. This will activate the `Configuration Window`.
|
|
|
|
Renesas' Smart Configurator (SMC) incudes BSP and HAL layer support extended with multiple RTOS variants and other middleware stacks.
|
|
The components will be available via code generation, including the entry point of the application.
|
|
|
|
Press ``Generate Code`` in the top right corner.
|
|
|
|
.. image:: /misc/renesas/generate_smc.png
|
|
:alt: Code generation with SMC
|
|
|
|
- Build the project by pressing ``Ctrl`` + ``Alt`` + ``B``
|
|
|
|
- Click the Debug button (|img_debug_btn|). If prompted with `Debug Configurations`, on the `Debugger` tab select the ``E2 Lite`` as `Debug hardware` and ``R5F572NN`` as `Target Device`:
|
|
|
|
.. image:: /misc/renesas/debug_rx72.png
|
|
:alt: Debugger parameters for RX72
|
|
|
|
.. note::
|
|
Make sure that both channels of ``SW1`` DIP switch (next to ``ECN1``) are OFF.
|
|
|
|
Modify the project
|
|
------------------
|
|
|
|
Open a demo
|
|
~~~~~~~~~~~
|
|
|
|
The entry point of the main task is contained in ``src/LVGL_thread_entry.c`` in all 3 projects.
|
|
|
|
You can disable the LVGL demos (or just comment them out) and call some ``lv_example_...()`` functions, or add your custom code.
|
|
|
|
Configuration
|
|
~~~~~~~~~~~~~
|
|
|
|
``src/lv_conf.h`` contains the most important settings for LVGL. Namely:
|
|
|
|
- ``LV_COLOR_DEPTH`` to set LVGL's default color depth
|
|
- ``LV_MEM_SIZE to`` set the maximum RAM available for LVGL
|
|
- ``LV_USE_DAVE2D`` to enable the GPU
|
|
|
|
|
|
Hardware and software components can be modified in a visual way using the `Configuration Window`.
|
|
|
|
|
|
Support
|
|
-------
|
|
|
|
In case of any problems or questions open an issue in the corresponding repository.
|