Renesas EK-RA8D1 demo project: cant run

Description

Hello LVGL forum users,
I’ve been trying to set up the Renesas EK-RA8D1 LVGL port project on my computer running Linux (Debian 13) and e2Studio (latest version with included FSP 6.4.0).

What MCU/Processor/Board and compiler are you using?

Renesas EK-RA8D1, GCC 13

What do you want to achieve?

Run the LVGL demo project

What have you tried so far?

  1. Following the instruction of this guide: RA Family | LVGL Open, I successfully cloned the github repo on my machine using this command:
    git clone https://github.com/lvgl/lv_port_renesas_ek-ra8d1_gcc.git

since I am using FSP 6.0 and later.
I later successfully imported the project inside e2Studio (cf. picture below)
image
To my surprise, the project already contains an ra folder (which normally is created and filled when clicking on the “Generate project content” button).

I then opened the configuration.xml file and clicked generate project content.
Upon compiling, this leads to an error:

Extracting support files...
09:59:53 **** Build of configuration Debug for project lv_port_renesas_ek-ra8d1 ****
make -r -j4 all 
Building file: ../src/port/lv_port_indev.c
Building file: ../src/LVGL_thread_entry.c
Building file: ../src/arducam_port.c
Building file: ../src/board_init.c
Building file: ../src/dsi_configuration_data.c
Building file: ../src/dsi_layer.c
Building file: ../src/fault_handlers.c
../src/LVGL_thread_entry.c: In function 'LVGL_thread_entry':
../src/LVGL_thread_entry.c:16:15: warning: unused variable 'err' [-Wunused-variable]
   16 |     fsp_err_t err;
      |               ^~~
Building file: ../src/hal_entry.c
Building file: ../src/printf_redirect.c
Building file: ../src/touch_GT911.c
Building file: ../ra_gen/LVGL_thread.c
Building file: ../ra_gen/common_data.c
../src/printf_redirect.c:119:6: warning: no previous declaration for '_exit' [-Wmissing-declarations]
  119 | void _exit(void)
      |      ^~~~~
../src/printf_redirect.c:119:6: warning: conflicting types for built-in function '_exit'; expected 'void(int)' [-Wbuiltin-declaration-mismatch]
../src/printf_redirect.c:124:6: warning: no previous declaration for '_kill' [-Wmissing-declarations]
  124 | void _kill(void)
      |      ^~~~~
../src/printf_redirect.c:129:6: warning: no previous declaration for '_getpid' [-Wmissing-declarations]
  129 | void _getpid(void)
      |      ^~~~~~~
../src/printf_redirect.c:133:6: warning: no previous declaration for '_open' [-Wmissing-declarations]
  133 | void _open(void)
      |      ^~~~~
Building file: ../ra_gen/hal_data.c
Building file: ../ra_gen/main.c
Building file: ../ra_gen/pin_data.c
Building file: ../ra_gen/vector_data.c
Building file: ../ra/tes/dave2d/src/dave_64bitoperation.c
Building file: ../ra/tes/dave2d/src/dave_base.c
Building file: ../ra/tes/dave2d/src/dave_blit.c
Building file: ../ra/tes/dave2d/src/dave_box.c
Building file: ../ra/tes/dave2d/src/dave_circle.c
Building file: ../ra/tes/dave2d/src/dave_context.c
Building file: ../ra/tes/dave2d/src/dave_curve.c
Building file: ../ra/tes/dave2d/src/dave_dlist.c
Building file: ../ra/tes/dave2d/src/dave_driver.c
Building file: ../ra/tes/dave2d/src/dave_edge.c
Building file: ../ra/tes/dave2d/src/dave_errorcodes.c
Building file: ../ra/tes/dave2d/src/dave_gradient.c
Building file: ../ra/tes/dave2d/src/dave_hardware.c
Building file: ../ra/tes/dave2d/src/dave_line.c
Building file: ../ra/tes/dave2d/src/dave_math.c
Building file: ../ra/tes/dave2d/src/dave_memory.c
Building file: ../ra/tes/dave2d/src/dave_pattern.c
Building file: ../ra/tes/dave2d/src/dave_perfcount.c
Building file: ../ra/tes/dave2d/src/dave_polyline.c
Building file: ../ra/tes/dave2d/src/dave_quad.c
Building file: ../ra/tes/dave2d/src/dave_rbuffer.c
Building file: ../ra/tes/dave2d/src/dave_render.c
Building file: ../ra/tes/dave2d/src/dave_texture.c
Building file: ../ra/tes/dave2d/src/dave_triangle.c
Building file: ../ra/tes/dave2d/src/dave_utility.c
Building file: ../ra/tes/dave2d/src/dave_viewport.c
Building file: ../ra/tes/dave2d/src/dave_wedge.c
Building file: ../ra/fsp/src/rm_lvgl_port/rm_lvgl_port.c
Building file: ../ra/fsp/src/rm_freertos_port/port.c
Building file: ../ra/fsp/src/r_sci_b_uart/r_sci_b_uart.c
Building file: ../ra/fsp/src/r_mipi_phy/r_mipi_phy.c
Building file: ../ra/fsp/src/r_mipi_dsi/r_mipi_dsi.c
Building file: ../ra/fsp/src/r_ioport/r_ioport.c
Building file: ../ra/fsp/src/r_iic_master/r_iic_master.c
Building file: ../ra/fsp/src/r_icu/r_icu.c
Building file: ../ra/fsp/src/r_gpt/r_gpt.c
Building file: ../ra/fsp/src/r_glcdc/r_glcdc.c
Building file: ../ra/fsp/src/r_dtc/r_dtc.c
Building file: ../ra/fsp/src/r_drw/r_drw_base.c
Building file: ../ra/fsp/src/r_drw/r_drw_irq.c
Building file: ../ra/fsp/src/r_drw/r_drw_memory.c
Building file: ../ra/fsp/src/bsp/mcu/ra8d1/bsp_linker.c
Building file: ../ra/fsp/src/bsp/mcu/all/bsp_clocks.c
Building file: ../ra/fsp/src/bsp/mcu/all/bsp_common.c
Building file: ../ra/fsp/src/bsp/mcu/all/bsp_delay.c
Building file: ../ra/fsp/src/bsp/mcu/all/bsp_group_irq.c
Building file: ../ra/fsp/src/bsp/mcu/all/bsp_guard.c
Building file: ../ra/fsp/src/bsp/mcu/all/bsp_io.c
Building file: ../ra/fsp/src/bsp/mcu/all/bsp_ipc.c
Building file: ../ra/fsp/src/bsp/mcu/all/bsp_irq.c
Building file: ../ra/fsp/src/bsp/mcu/all/bsp_macl.c
Building file: ../ra/fsp/src/bsp/mcu/all/bsp_register_protection.c
Building file: ../ra/fsp/src/bsp/mcu/all/bsp_sbrk.c
Building file: ../ra/fsp/src/bsp/mcu/all/bsp_sdram.c
Building file: ../ra/fsp/src/bsp/mcu/all/bsp_security.c
Building file: ../ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/startup.c
Building file: ../ra/fsp/src/bsp/cmsis/Device/RENESAS/Source/system.c
Building file: ../ra/board/ra8d1_ek/board_init.c
Building file: ../ra/board/ra8d1_ek/board_leds.c
Building file: ../ra/aws/FreeRTOS/FreeRTOS/Source/portable/MemMang/heap_4.c
Building file: ../ra/aws/FreeRTOS/FreeRTOS/Source/event_groups.c
Building file: ../ra/aws/FreeRTOS/FreeRTOS/Source/list.c
Building file: ../ra/aws/FreeRTOS/FreeRTOS/Source/queue.c
Building file: ../ra/aws/FreeRTOS/FreeRTOS/Source/stream_buffer.c
Building file: ../ra/aws/FreeRTOS/FreeRTOS/Source/tasks.c
Building file: ../ra/aws/FreeRTOS/FreeRTOS/Source/timers.c
Building target: lv_port_renesas_ek-ra8d1.elf
/home/cmeslif/renesas/ra/e2studio_v2025-12_fsp_v6.4.0/toolchains/gcc_arm/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: ./src/port/lv_port_indev.o: in function `lv_port_indev_init':
/home/cmeslif/Documents/e2_studio/workspace_EK_RA8_D1/lv_port_renesas_ek-ra8d1/Debug/../src/port/lv_port_indev.c:97:(.text.lv_port_indev_init+0x2): undefined reference to `lv_indev_create'
/home/cmeslif/renesas/ra/e2studio_v2025-12_fsp_v6.4.0/toolchains/gcc_arm/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: /home/cmeslif/Documents/e2_studio/workspace_EK_RA8_D1/lv_port_renesas_ek-ra8d1/Debug/../src/port/lv_port_indev.c:98:(.text.lv_port_indev_init+0xc): undefined reference to `lv_indev_set_type'
/home/cmeslif/renesas/ra/e2studio_v2025-12_fsp_v6.4.0/toolchains/gcc_arm/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: /home/cmeslif/Documents/e2_studio/workspace_EK_RA8_D1/lv_port_renesas_ek-ra8d1/Debug/../src/port/lv_port_indev.c:99:(.text.lv_port_indev_init+0x18): undefined reference to `lv_indev_set_read_cb'
/home/cmeslif/renesas/ra/e2studio_v2025-12_fsp_v6.4.0/toolchains/gcc_arm/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: ./src/LVGL_thread_entry.o: in function `LVGL_thread_entry':
/home/cmeslif/Documents/e2_studio/workspace_EK_RA8_D1/lv_port_renesas_ek-ra8d1/Debug/../src/LVGL_thread_entry.c:18:(.text.LVGL_thread_entry+0x2): undefined reference to `lv_init'
/home/cmeslif/renesas/ra/e2studio_v2025-12_fsp_v6.4.0/toolchains/gcc_arm/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: /home/cmeslif/Documents/e2_studio/workspace_EK_RA8_D1/lv_port_renesas_ek-ra8d1/Debug/../src/LVGL_thread_entry.c:23:(.text.LVGL_thread_entry+0xa): undefined reference to `lv_demo_benchmark'
/home/cmeslif/renesas/ra/e2studio_v2025-12_fsp_v6.4.0/toolchains/gcc_arm/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: /home/cmeslif/Documents/e2_studio/workspace_EK_RA8_D1/lv_port_renesas_ek-ra8d1/Debug/../src/LVGL_thread_entry.c:46:(.text.LVGL_thread_entry+0xe): undefined reference to `lv_timer_handler'
/home/cmeslif/renesas/ra/e2studio_v2025-12_fsp_v6.4.0/toolchains/gcc_arm/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: ./src/board_init.o: in function `board_init':
/home/cmeslif/Documents/e2_studio/workspace_EK_RA8_D1/lv_port_renesas_ek-ra8d1/Debug/../src/board_init.c:64:(.text.board_init+0x40): undefined reference to `lv_display_set_default'
/home/cmeslif/renesas/ra/e2studio_v2025-12_fsp_v6.4.0/toolchains/gcc_arm/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: ./ra/fsp/src/rm_lvgl_port/rm_lvgl_port.o: in function `rm_lvgl_port_flush_cb':
/home/cmeslif/Documents/e2_studio/workspace_EK_RA8_D1/lv_port_renesas_ek-ra8d1/Debug/../ra/fsp/src/rm_lvgl_port/rm_lvgl_port.c:228:(.text.rm_lvgl_port_flush_cb+0x4): undefined reference to `lv_display_flush_is_last'
/home/cmeslif/renesas/ra/e2studio_v2025-12_fsp_v6.4.0/toolchains/gcc_arm/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: ./ra/fsp/src/rm_lvgl_port/rm_lvgl_port.o: in function `rm_lvgl_port_flush_wait_cb':
/home/cmeslif/Documents/e2_studio/workspace_EK_RA8_D1/lv_port_renesas_ek-ra8d1/Debug/../ra/fsp/src/rm_lvgl_port/rm_lvgl_port.c:252:(.text.rm_lvgl_port_flush_wait_cb+0x2): undefined reference to `lv_display_flush_is_last'
/home/cmeslif/renesas/ra/e2studio_v2025-12_fsp_v6.4.0/toolchains/gcc_arm/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: ./ra/fsp/src/rm_lvgl_port/rm_lvgl_port.o: in function `RM_LVGL_PORT_Open':
/home/cmeslif/Documents/e2_studio/workspace_EK_RA8_D1/lv_port_renesas_ek-ra8d1/Debug/../ra/fsp/src/rm_lvgl_port/rm_lvgl_port.c:142:(.text.RM_LVGL_PORT_Open+0x9e): undefined reference to `lv_display_create'
/home/cmeslif/renesas/ra/e2studio_v2025-12_fsp_v6.4.0/toolchains/gcc_arm/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: /home/cmeslif/Documents/e2_studio/workspace_EK_RA8_D1/lv_port_renesas_ek-ra8d1/Debug/../ra/fsp/src/rm_lvgl_port/rm_lvgl_port.c:151:(.text.RM_LVGL_PORT_Open+0xa8): undefined reference to `lv_display_set_flush_cb'
/home/cmeslif/renesas/ra/e2studio_v2025-12_fsp_v6.4.0/toolchains/gcc_arm/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: /home/cmeslif/Documents/e2_studio/workspace_EK_RA8_D1/lv_port_renesas_ek-ra8d1/Debug/../ra/fsp/src/rm_lvgl_port/rm_lvgl_port.c:152:(.text.RM_LVGL_PORT_Open+0xb0): undefined reference to `lv_display_set_flush_wait_cb'
/home/cmeslif/renesas/ra/e2studio_v2025-12_fsp_v6.4.0/toolchains/gcc_arm/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: /home/cmeslif/Documents/e2_studio/workspace_EK_RA8_D1/lv_port_renesas_ek-ra8d1/Debug/../ra/fsp/src/rm_lvgl_port/rm_lvgl_port.c:153:(.text.RM_LVGL_PORT_Open+0xc6): undefined reference to `lv_display_set_buffers_with_stride'
/home/cmeslif/renesas/ra/e2studio_v2025-12_fsp_v6.4.0/toolchains/gcc_arm/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: /home/cmeslif/Documents/e2_studio/workspace_EK_RA8_D1/lv_port_renesas_ek-ra8d1/Debug/../ra/fsp/src/rm_lvgl_port/rm_lvgl_port.c:165:(.text.RM_LVGL_PORT_Open+0xcc): undefined reference to `lv_tick_set_cb'
/home/cmeslif/renesas/ra/e2studio_v2025-12_fsp_v6.4.0/toolchains/gcc_arm/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: ./ra/aws/FreeRTOS/FreeRTOS/Source/tasks.o: in function `vTaskStartScheduler':
/home/cmeslif/Documents/e2_studio/workspace_EK_RA8_D1/lv_port_renesas_ek-ra8d1/Debug/../ra/aws/FreeRTOS/FreeRTOS/Source/tasks.c:3732:(.text.vTaskStartScheduler+0x74): undefined reference to `lv_freertos_task_switch_in'
/home/cmeslif/renesas/ra/e2studio_v2025-12_fsp_v6.4.0/toolchains/gcc_arm/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: ./ra/aws/FreeRTOS/FreeRTOS/Source/tasks.o: in function `vTaskSwitchContext':
/home/cmeslif/Documents/e2_studio/workspace_EK_RA8_D1/lv_port_renesas_ek-ra8d1/Debug/../ra/aws/FreeRTOS/FreeRTOS/Source/tasks.c:5069:(.text.vTaskSwitchContext+0x16): undefined reference to `lv_freertos_task_switch_out'
/home/cmeslif/renesas/ra/e2studio_v2025-12_fsp_v6.4.0/toolchains/gcc_arm/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: /home/cmeslif/Documents/e2_studio/workspace_EK_RA8_D1/lv_port_renesas_ek-ra8d1/Debug/../ra/aws/FreeRTOS/FreeRTOS/Source/tasks.c:5115:(.text.vTaskSwitchContext+0xae): undefined reference to `lv_freertos_task_switch_in'
collect2: error: ld returned 1 exit status
make: *** [makefile:153: lv_port_renesas_ek-ra8d1.elf] Error 1
"make -r -j4 all" terminated with exit code 2. Build might be incomplete.

10:00:06 Build Failed. 19 errors, 6 warnings. (took 13s.883ms)

To fix this error, I just removed every folder generated by the configuration.xml file and regenerated the content once again. It seems related to the ra folder already present inside the git repo.

Anyway, once the content is generated one last time, the build completes itself successfully. Perhaps, I am unable to flash the MCU because of this error:

Error in final launch sequence:

Error retrieving GDB Server parameters:
Cannot find smart bundle for : lv_port_renesas_ek-ra8d1. Rebuild the project with Debug build configuration to generate the smart bundle.
Error retrieving GDB Server parameters:
Cannot find smart bundle for : lv_port_renesas_ek-ra8d1. Rebuild the project with Debug build configuration to generate the smart bundle.
Cannot find smart bundle for : lv_port_renesas_ek-ra8d1. Rebuild the project with Debug build configuration to generate the smart bundle.

Searching for this error online, it seems to be related to the absence of an .sbd file inside the Debug folder.

For the record, I tried this method on my machine but also on a colleague’s which is running Windows 10 and e2Studio FSP 6.1.0.

Does someone also encounters this specific error?
Thank you.

Screenshot and/or video

If possible, add screenshots and/or videos about the current state.

Hi @Scallop8793 , I will check with LVGL Open team about this.

Hi @Scallop8793,

I’ve reached out to Renesas and got an answer:
It’s happening if the project name is not the same as the one in the Refresh policy.

Please check if updating the Refresh policy resolves it.

Regarding the RA folder and building: I’ve tested with the latest still not released FSP of Renesas and could remove the ra folder with that. In the earlier version we needed to keep some files as a workaround.

I’ll update all our Renesas projects to the this FSP when it’s out (in a few weeks I believe).

Hi all,
Thank you so much for your such swift answers!

@kisvegabor, I just checked the Refresh Policy tab and there was indeed a misspell: the refresh policy pointed to lv_port_renesas_ek-ra8d1_gcc while the project name does not contain the _gcc at the end. Now that this is fixed, I can confirm that this works!
Thank again,
Have a great day.

1 Like