Compiling example program zephyr/lvgl using Visual Studio Code and NRF Connect

Hello,

I am trying to compile the zephyr/samples/subsys/display/lvgl.

I have the lv_conf.h enabled

I'm getting an error "No SOURCES given to Zephyr library: drivers_display

how do I fix this problem ?

Excluding target from build

and the remaining errors seem to be with the disp_drv

-- Configuring done
-- Generating done
-- Build files have been written to: C:/WORKING/NED/Nordic/Software/Testing/lvgl/build
-- west build: building application
[1/279] Generating misc/generated/syscalls.json, misc/generated/struct_tags.json
[2/279] Generating include/generated/driver-validation.h
[3/279] Generating include/generated/kobj-types-enum.h, include/generated/otype-to-str.h, include/generated/otype-to-size.h
[4/279] Generating include/generated/syscall_dispatch.c, include/generated/syscall_list.h
[5/279] Building C object zephyr/CMakeFiles/offsets.dir/arch/arm/core/offsets/offsets.c.obj
[6/279] Generating include/generated/offsets.h
[7/279] Building ASM object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/nmi_on_reset.S.obj
[8/279] Building ASM object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/cpu_idle.S.obj
[9/279] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/irq_manage.c.obj
[10/279] Building C object zephyr/arch/common/CMakeFiles/isr_tables.dir/isr_tables.c.obj
[11/279] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/nmi.c.obj
[12/279] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/prep_c.c.obj
[13/279] Building C object zephyr/arch/common/CMakeFiles/arch__common.dir/sw_isr_common.c.obj
[14/279] Generating linker_zephyr_pre1.cmd
[15/279] Generating linker_zephyr_pre0.cmd
[16/279] Building ASM object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/swap_helper.S.obj
[17/279] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/fatal.c.obj
[18/279] Building C object zephyr/arch/arch/arm/core/aarch32/mpu/CMakeFiles/arch__arm__core__aarch32__mpu.dir/arm_core_mpu.c.obj
[19/279] Building ASM object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/fault_s.S.obj
[20/279] Building ASM object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/isr_wrapper.S.obj
[21/279] Building ASM object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/exc_exit.S.obj
[22/279] Building C object zephyr/arch/arch/arm/core/aarch32/mpu/CMakeFiles/arch__arm__core__aarch32__mpu.dir/arm_mpu.c.obj
[23/279] Linking C static library zephyr\arch\common\libisr_tables.a
[24/279] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/thread.c.obj
[25/279] Building C object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/swap.c.obj
[26/279] Building ASM object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/reset.S.obj
[27/279] Building ASM object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/vector_table.S.obj
[28/279] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/fpu.c.obj
[29/279] Linking C static library zephyr\arch\arch\arm\core\aarch32\mpu\libarch__arm__core__aarch32__mpu.a
[30/279] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/irq_init.c.obj
[31/279] Linking C static library zephyr\arch\common\libarch__common.a
[32/279] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/scb.c.obj
[33/279] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/thread_abort.c.obj
[34/279] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/time/gmtime.c.obj
[35/279] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdout/fprintf.c.obj
[36/279] Linking C static library zephyr\arch\arch\arm\core\aarch32\libarch__arm__core__aarch32.a
[37/279] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdout/stdout_console.c.obj
[38/279] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdout/sprintf.c.obj
[39/279] Building C object zephyr/arch/arch/arm/core/aarch32/cortex_m/CMakeFiles/arch__arm__core__aarch32__cortex_m.dir/fault.c.obj
[40/279] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/strtol.c.obj
[41/279] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/atoi.c.obj
[42/279] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/strtoul.c.obj
[43/279] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/abort.c.obj
[44/279] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/strncasecmp.c.obj
[45/279] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/bsearch.c.obj
[46/279] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/malloc.c.obj
[47/279] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/qsort.c.obj
[48/279] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/strspn.c.obj
[49/279] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/strstr.c.obj
[50/279] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/stdlib/exit.c.obj
[51/279] Building C object zephyr/lib/libc/minimal/CMakeFiles/lib__libc__minimal.dir/source/string/string.c.obj
[52/279] Linking C static library zephyr\arch\arch\arm\core\aarch32\cortex_m\libarch__arm__core__aarch32__cortex_m.a
[53/279] Building C object zephyr/lib/gui/lvgl/CMakeFiles/lib__gui__lvgl.dir/lvgl_display.c.obj
FAILED: zephyr/lib/gui/lvgl/CMakeFiles/lib__gui__lvgl.dir/lvgl_display.c.obj
C:\ncs\v1.9.1\toolchain\opt\bin\arm-none-eabi-gcc.exe -DBUILD_VERSION=v2.7.99-ncs1-1 -DKERNEL -DLV_CONF_INCLUDE_SIMPLE=1 -DNRF52840_XXAA -DUSE_PARTITION_MANAGER=0 -D_FORTIFY_SOURCE=2 -D__PROGRAM_START -D__ZEPHYR__=1 -IC:/ncs/v1.9.1/zephyr/include -Izephyr/include/generated -IC:/ncs/v1.9.1/zephyr/soc/arm/nordic_nrf/nrf52 -IC:/ncs/v1.9.1/zephyr/soc/arm/nordic_nrf/common/. -IC:/ncs/v1.9.1/nrf/include -IC:/ncs/v1.9.1/modules/hal/cmsis/CMSIS/Core/Include -IC:/ncs/v1.9.1/modules/hal/nordic/nrfx -IC:/ncs/v1.9.1/modules/hal/nordic/nrfx/drivers/include -IC:/ncs/v1.9.1/modules/hal/nordic/nrfx/mdk -IC:/ncs/v1.9.1/zephyr/modules/hal_nordic/nrfx/. -IC:/ncs/v1.9.1/modules/debug/segger/SEGGER -IC:/ncs/v1.9.1/modules/debug/segger/Config -IC:/ncs/v1.9.1/zephyr/modules/segger/. -IC:/ncs/v1.9.1/zephyr/lib/gui/lvgl -IC:/ncs/v1.9.1/modules/lib/gui/lvgl -isystem C:/ncs/v1.9.1/zephyr/lib/libc/minimal/include -isystem c:/ncs/v1.9.1/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/include -isystem c:/ncs/v1.9.1/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/include-fixed -isystem C:/ncs/v1.9.1/nrfxlib/crypto/nrf_cc310_platform/include -Os -imacros C:/WORKING/NED/Nordic/Software/Testing/lvgl/build/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -gdwarf-4 -fdiagnostics-color=always -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfp16-format=ieee -imacros C:/ncs/v1.9.1/zephyr/include/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-pointer-sign -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -Werror=implicit-int -fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-strict-overflow -fno-reorder-functions -fno-defer-pop -fmacro-prefix-map=C:/WORKING/NED/Nordic/Software/Testing/lvgl=CMAKE_SOURCE_DIR -fmacro-prefix-map=C:/ncs/v1.9.1/zephyr=ZEPHYR_BASE -fmacro-prefix-map=C:/ncs/v1.9.1=WEST_TOPDIR -ffunction-sections -fdata-sections -std=c99 -nostdinc -MD -MT zephyr/lib/gui/lvgl/CMakeFiles/lib__gui__lvgl.dir/lvgl_display.c.obj -MF zephyr\lib\gui\lvgl\CMakeFiles\lib__gui__lvgl.dir\lvgl_display.c.obj.d -o zephyr/lib/gui/lvgl/CMakeFiles/lib__gui__lvgl.dir/lvgl_display.c.obj -c C:/ncs/v1.9.1/zephyr/lib/gui/lvgl/lvgl_display.c
C:/ncs/v1.9.1/zephyr/lib/gui/lvgl/lvgl_display.c: In function 'set_lvgl_rendering_cb':
C:\ncs\v1.9.1\zephyr\lib\gui\lvgl\lvgl_display.c:12:68: error: 'lv_disp_drv_t' {aka 'struct _disp_drv_t'} has no member named 'user_data'
   12 |  const struct device *display_dev = (const struct device *)disp_drv->user_data;
      |                                                                    ^~
[54/279] Building C object zephyr/lib/posix/CMakeFiles/lib__posix.dir/pthread_common.c.obj
[55/279] Building C object zephyr/lib/gui/lvgl/CMakeFiles/lib__gui__lvgl.dir/lvgl_display_mono.c.obj
FAILED: zephyr/lib/gui/lvgl/CMakeFiles/lib__gui__lvgl.dir/lvgl_display_mono.c.obj
C:\ncs\v1.9.1\toolchain\opt\bin\arm-none-eabi-gcc.exe -DBUILD_VERSION=v2.7.99-ncs1-1 -DKERNEL -DLV_CONF_INCLUDE_SIMPLE=1 -DNRF52840_XXAA -DUSE_PARTITION_MANAGER=0 -D_FORTIFY_SOURCE=2 -D__PROGRAM_START -D__ZEPHYR__=1 -IC:/ncs/v1.9.1/zephyr/include -Izephyr/include/generated -IC:/ncs/v1.9.1/zephyr/soc/arm/nordic_nrf/nrf52 -IC:/ncs/v1.9.1/zephyr/soc/arm/nordic_nrf/common/. -IC:/ncs/v1.9.1/nrf/include -IC:/ncs/v1.9.1/modules/hal/cmsis/CMSIS/Core/Include -IC:/ncs/v1.9.1/modules/hal/nordic/nrfx -IC:/ncs/v1.9.1/modules/hal/nordic/nrfx/drivers/include -IC:/ncs/v1.9.1/modules/hal/nordic/nrfx/mdk -IC:/ncs/v1.9.1/zephyr/modules/hal_nordic/nrfx/. -IC:/ncs/v1.9.1/modules/debug/segger/SEGGER -IC:/ncs/v1.9.1/modules/debug/segger/Config -IC:/ncs/v1.9.1/zephyr/modules/segger/. -IC:/ncs/v1.9.1/zephyr/lib/gui/lvgl -IC:/ncs/v1.9.1/modules/lib/gui/lvgl -isystem C:/ncs/v1.9.1/zephyr/lib/libc/minimal/include -isystem c:/ncs/v1.9.1/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/include -isystem c:/ncs/v1.9.1/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/include-fixed -isystem C:/ncs/v1.9.1/nrfxlib/crypto/nrf_cc310_platform/include -Os -imacros C:/WORKING/NED/Nordic/Software/Testing/lvgl/build/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -gdwarf-4 -fdiagnostics-color=always -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfp16-format=ieee -imacros C:/ncs/v1.9.1/zephyr/include/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-pointer-sign -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -Werror=implicit-int -fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-strict-overflow -fno-reorder-functions -fno-defer-pop -fmacro-prefix-map=C:/WORKING/NED/Nordic/Software/Testing/lvgl=CMAKE_SOURCE_DIR -fmacro-prefix-map=C:/ncs/v1.9.1/zephyr=ZEPHYR_BASE -fmacro-prefix-map=C:/ncs/v1.9.1=WEST_TOPDIR -ffunction-sections -fdata-sections -std=c99 -nostdinc -MD -MT zephyr/lib/gui/lvgl/CMakeFiles/lib__gui__lvgl.dir/lvgl_display_mono.c.obj -MF zephyr\lib\gui\lvgl\CMakeFiles\lib__gui__lvgl.dir\lvgl_display_mono.c.obj.d -o zephyr/lib/gui/lvgl/CMakeFiles/lib__gui__lvgl.dir/lvgl_display_mono.c.obj -c C:/ncs/v1.9.1/zephyr/lib/gui/lvgl/lvgl_display_mono.c
C:/ncs/v1.9.1/zephyr/lib/gui/lvgl/lvgl_display_mono.c: In function 'lvgl_flush_cb_mono':
C:\ncs\v1.9.1\zephyr\lib\gui\lvgl\lvgl_display_mono.c:16:68: error: 'struct _disp_drv_t' has no member named 'user_data'
   16 |  const struct device *display_dev = (const struct device *)disp_drv->user_data;
      |                                                                    ^~
C:/ncs/v1.9.1/zephyr/lib/gui/lvgl/lvgl_display_mono.c: In function 'lvgl_set_px_cb_mono':
C:\ncs\v1.9.1\zephyr\lib\gui\lvgl\lvgl_display_mono.c:40:68: error: 'struct _disp_drv_t' has no member named 'user_data'
   40 |  const struct device *display_dev = (const struct device *)disp_drv->user_data;
      |                                                                    ^~
C:/ncs/v1.9.1/zephyr/lib/gui/lvgl/lvgl_display_mono.c: In function 'lvgl_rounder_cb_mono':
C:\ncs\v1.9.1\zephyr\lib\gui\lvgl\lvgl_display_mono.c:83:68: error: 'struct _disp_drv_t' has no member named 'user_data'
   83 |  const struct device *display_dev = (const struct device *)disp_drv->user_data;
      |                                                                    ^~
[56/279] Building C object zephyr/lib/gui/lvgl/CMakeFiles/lib__gui__lvgl.dir/lvgl_display_32bit.c.obj
FAILED: zephyr/lib/gui/lvgl/CMakeFiles/lib__gui__lvgl.dir/lvgl_display_32bit.c.obj
C:\ncs\v1.9.1\toolchain\opt\bin\arm-none-eabi-gcc.exe -DBUILD_VERSION=v2.7.99-ncs1-1 -DKERNEL -DLV_CONF_INCLUDE_SIMPLE=1 -DNRF52840_XXAA -DUSE_PARTITION_MANAGER=0 -D_FORTIFY_SOURCE=2 -D__PROGRAM_START -D__ZEPHYR__=1 -IC:/ncs/v1.9.1/zephyr/include -Izephyr/include/generated -IC:/ncs/v1.9.1/zephyr/soc/arm/nordic_nrf/nrf52 -IC:/ncs/v1.9.1/zephyr/soc/arm/nordic_nrf/common/. -IC:/ncs/v1.9.1/nrf/include -IC:/ncs/v1.9.1/modules/hal/cmsis/CMSIS/Core/Include -IC:/ncs/v1.9.1/modules/hal/nordic/nrfx -IC:/ncs/v1.9.1/modules/hal/nordic/nrfx/drivers/include -IC:/ncs/v1.9.1/modules/hal/nordic/nrfx/mdk -IC:/ncs/v1.9.1/zephyr/modules/hal_nordic/nrfx/. -IC:/ncs/v1.9.1/modules/debug/segger/SEGGER -IC:/ncs/v1.9.1/modules/debug/segger/Config -IC:/ncs/v1.9.1/zephyr/modules/segger/. -IC:/ncs/v1.9.1/zephyr/lib/gui/lvgl -IC:/ncs/v1.9.1/modules/lib/gui/lvgl -isystem C:/ncs/v1.9.1/zephyr/lib/libc/minimal/include -isystem c:/ncs/v1.9.1/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/include -isystem c:/ncs/v1.9.1/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/include-fixed -isystem C:/ncs/v1.9.1/nrfxlib/crypto/nrf_cc310_platform/include -Os -imacros C:/WORKING/NED/Nordic/Software/Testing/lvgl/build/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -gdwarf-4 -fdiagnostics-color=always -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfp16-format=ieee -imacros C:/ncs/v1.9.1/zephyr/include/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-pointer-sign -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -Werror=implicit-int -fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-strict-overflow -fno-reorder-functions -fno-defer-pop -fmacro-prefix-map=C:/WORKING/NED/Nordic/Software/Testing/lvgl=CMAKE_SOURCE_DIR -fmacro-prefix-map=C:/ncs/v1.9.1/zephyr=ZEPHYR_BASE -fmacro-prefix-map=C:/ncs/v1.9.1=WEST_TOPDIR -ffunction-sections -fdata-sections -std=c99 -nostdinc -MD -MT zephyr/lib/gui/lvgl/CMakeFiles/lib__gui__lvgl.dir/lvgl_display_32bit.c.obj -MF zephyr\lib\gui\lvgl\CMakeFiles\lib__gui__lvgl.dir\lvgl_display_32bit.c.obj.d -o zephyr/lib/gui/lvgl/CMakeFiles/lib__gui__lvgl.dir/lvgl_display_32bit.c.obj -c C:/ncs/v1.9.1/zephyr/lib/gui/lvgl/lvgl_display_32bit.c
C:/ncs/v1.9.1/zephyr/lib/gui/lvgl/lvgl_display_32bit.c: In function 'lvgl_flush_cb_32bit':
C:\ncs\v1.9.1\zephyr\lib\gui\lvgl\lvgl_display_32bit.c:14:68: error: 'struct _disp_drv_t' has no member named 'user_data'
   14 |  const struct device *display_dev = (const struct device *)disp_drv->user_data;
      |                                                                    ^~
[57/279] Building C object zephyr/lib/posix/CMakeFiles/lib__posix.dir/nanosleep.c.obj
[58/279] Building C object zephyr/lib/gui/lvgl/CMakeFiles/lib__gui__lvgl.dir/lvgl.c.obj
FAILED: zephyr/lib/gui/lvgl/CMakeFiles/lib__gui__lvgl.dir/lvgl.c.obj
C:\ncs\v1.9.1\toolchain\opt\bin\arm-none-eabi-gcc.exe -DBUILD_VERSION=v2.7.99-ncs1-1 -DKERNEL -DLV_CONF_INCLUDE_SIMPLE=1 -DNRF52840_XXAA -DUSE_PARTITION_MANAGER=0 -D_FORTIFY_SOURCE=2 -D__PROGRAM_START -D__ZEPHYR__=1 -IC:/ncs/v1.9.1/zephyr/include -Izephyr/include/generated -IC:/ncs/v1.9.1/zephyr/soc/arm/nordic_nrf/nrf52 -IC:/ncs/v1.9.1/zephyr/soc/arm/nordic_nrf/common/. -IC:/ncs/v1.9.1/nrf/include -IC:/ncs/v1.9.1/modules/hal/cmsis/CMSIS/Core/Include -IC:/ncs/v1.9.1/modules/hal/nordic/nrfx -IC:/ncs/v1.9.1/modules/hal/nordic/nrfx/drivers/include -IC:/ncs/v1.9.1/modules/hal/nordic/nrfx/mdk -IC:/ncs/v1.9.1/zephyr/modules/hal_nordic/nrfx/. -IC:/ncs/v1.9.1/modules/debug/segger/SEGGER -IC:/ncs/v1.9.1/modules/debug/segger/Config -IC:/ncs/v1.9.1/zephyr/modules/segger/. -IC:/ncs/v1.9.1/zephyr/lib/gui/lvgl -IC:/ncs/v1.9.1/modules/lib/gui/lvgl -isystem C:/ncs/v1.9.1/zephyr/lib/libc/minimal/include -isystem c:/ncs/v1.9.1/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/include -isystem c:/ncs/v1.9.1/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/include-fixed -isystem C:/ncs/v1.9.1/nrfxlib/crypto/nrf_cc310_platform/include -Os -imacros C:/WORKING/NED/Nordic/Software/Testing/lvgl/build/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -gdwarf-4 -fdiagnostics-color=always -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfp16-format=ieee -imacros C:/ncs/v1.9.1/zephyr/include/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-pointer-sign -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -Werror=implicit-int -fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-strict-overflow -fno-reorder-functions -fno-defer-pop -fmacro-prefix-map=C:/WORKING/NED/Nordic/Software/Testing/lvgl=CMAKE_SOURCE_DIR -fmacro-prefix-map=C:/ncs/v1.9.1/zephyr=ZEPHYR_BASE -fmacro-prefix-map=C:/ncs/v1.9.1=WEST_TOPDIR -ffunction-sections -fdata-sections -std=c99 -nostdinc -MD -MT zephyr/lib/gui/lvgl/CMakeFiles/lib__gui__lvgl.dir/lvgl.c.obj -MF zephyr\lib\gui\lvgl\CMakeFiles\lib__gui__lvgl.dir\lvgl.c.obj.d -o zephyr/lib/gui/lvgl/CMakeFiles/lib__gui__lvgl.dir/lvgl.c.obj -c C:/ncs/v1.9.1/zephyr/lib/gui/lvgl/lvgl.c
C:\ncs\v1.9.1\zephyr\lib\gui\lvgl\lvgl.c:17:10: error: #include expects "FILENAME" or <FILENAME>
   17 | #include LV_MEM_CUSTOM_INCLUDE
      |          ^~~~~~~~~~~~~~~~~~~~~
C:/ncs/v1.9.1/zephyr/lib/gui/lvgl/lvgl.c: In function 'lvgl_allocate_rendering_buffers':
C:\ncs\v1.9.1\zephyr\lib\gui\lvgl\lvgl.c:91:68: error: 'lv_disp_drv_t' {aka 'struct _disp_drv_t'} has no member named 'user_data'
   91 |  const struct device *display_dev = (const struct device *)disp_drv->user_data;
      |                                                                    ^~
C:/ncs/v1.9.1/zephyr/lib/gui/lvgl/lvgl.c: In function 'lvgl_init':
C:\ncs\v1.9.1\zephyr\lib\gui\lvgl\lvgl.c:331:2: warning: implicit declaration of function 'lv_log_register_print_cb' [-Wimplicit-function-declaration]
  331 |  lv_log_register_print_cb(lvgl_log);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~
C:\ncs\v1.9.1\zephyr\lib\gui\lvgl\lvgl.c:341:10: error: 'lv_disp_drv_t' {aka 'struct _disp_drv_t'} has no member named 'user_data'
  341 |  disp_drv.user_data = (void *) display_dev;
      |          ^
[59/279] Building C object zephyr/lib/gui/lvgl/CMakeFiles/lib__gui__lvgl.dir/lvgl_display_16bit.c.obj
FAILED: zephyr/lib/gui/lvgl/CMakeFiles/lib__gui__lvgl.dir/lvgl_display_16bit.c.obj
C:\ncs\v1.9.1\toolchain\opt\bin\arm-none-eabi-gcc.exe -DBUILD_VERSION=v2.7.99-ncs1-1 -DKERNEL -DLV_CONF_INCLUDE_SIMPLE=1 -DNRF52840_XXAA -DUSE_PARTITION_MANAGER=0 -D_FORTIFY_SOURCE=2 -D__PROGRAM_START -D__ZEPHYR__=1 -IC:/ncs/v1.9.1/zephyr/include -Izephyr/include/generated -IC:/ncs/v1.9.1/zephyr/soc/arm/nordic_nrf/nrf52 -IC:/ncs/v1.9.1/zephyr/soc/arm/nordic_nrf/common/. -IC:/ncs/v1.9.1/nrf/include -IC:/ncs/v1.9.1/modules/hal/cmsis/CMSIS/Core/Include -IC:/ncs/v1.9.1/modules/hal/nordic/nrfx -IC:/ncs/v1.9.1/modules/hal/nordic/nrfx/drivers/include -IC:/ncs/v1.9.1/modules/hal/nordic/nrfx/mdk -IC:/ncs/v1.9.1/zephyr/modules/hal_nordic/nrfx/. -IC:/ncs/v1.9.1/modules/debug/segger/SEGGER -IC:/ncs/v1.9.1/modules/debug/segger/Config -IC:/ncs/v1.9.1/zephyr/modules/segger/. -IC:/ncs/v1.9.1/zephyr/lib/gui/lvgl -IC:/ncs/v1.9.1/modules/lib/gui/lvgl -isystem C:/ncs/v1.9.1/zephyr/lib/libc/minimal/include -isystem c:/ncs/v1.9.1/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/include -isystem c:/ncs/v1.9.1/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/include-fixed -isystem C:/ncs/v1.9.1/nrfxlib/crypto/nrf_cc310_platform/include -Os -imacros C:/WORKING/NED/Nordic/Software/Testing/lvgl/build/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -gdwarf-4 -fdiagnostics-color=always -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfp16-format=ieee -imacros C:/ncs/v1.9.1/zephyr/include/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-pointer-sign -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -Werror=implicit-int -fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-strict-overflow -fno-reorder-functions -fno-defer-pop -fmacro-prefix-map=C:/WORKING/NED/Nordic/Software/Testing/lvgl=CMAKE_SOURCE_DIR -fmacro-prefix-map=C:/ncs/v1.9.1/zephyr=ZEPHYR_BASE -fmacro-prefix-map=C:/ncs/v1.9.1=WEST_TOPDIR -ffunction-sections -fdata-sections -std=c99 -nostdinc -MD -MT zephyr/lib/gui/lvgl/CMakeFiles/lib__gui__lvgl.dir/lvgl_display_16bit.c.obj -MF zephyr\lib\gui\lvgl\CMakeFiles\lib__gui__lvgl.dir\lvgl_display_16bit.c.obj.d -o zephyr/lib/gui/lvgl/CMakeFiles/lib__gui__lvgl.dir/lvgl_display_16bit.c.obj -c C:/ncs/v1.9.1/zephyr/lib/gui/lvgl/lvgl_display_16bit.c
C:/ncs/v1.9.1/zephyr/lib/gui/lvgl/lvgl_display_16bit.c: In function 'lvgl_flush_cb_16bit':
C:\ncs\v1.9.1\zephyr\lib\gui\lvgl\lvgl_display_16bit.c:14:68: error: 'struct _disp_drv_t' has no member named 'user_data'
   14 |  const struct device *display_dev = (const struct device *)disp_drv->user_data;
      |                                                                    ^~
[60/279] Linking C static library zephyr\lib\libc\minimal\liblib__libc__minimal.a
[61/279] Building C object zephyr/lib/gui/lvgl/CMakeFiles/lib__gui__lvgl.dir/lvgl_display_24bit.c.obj
FAILED: zephyr/lib/gui/lvgl/CMakeFiles/lib__gui__lvgl.dir/lvgl_display_24bit.c.obj
C:\ncs\v1.9.1\toolchain\opt\bin\arm-none-eabi-gcc.exe -DBUILD_VERSION=v2.7.99-ncs1-1 -DKERNEL -DLV_CONF_INCLUDE_SIMPLE=1 -DNRF52840_XXAA -DUSE_PARTITION_MANAGER=0 -D_FORTIFY_SOURCE=2 -D__PROGRAM_START -D__ZEPHYR__=1 -IC:/ncs/v1.9.1/zephyr/include -Izephyr/include/generated -IC:/ncs/v1.9.1/zephyr/soc/arm/nordic_nrf/nrf52 -IC:/ncs/v1.9.1/zephyr/soc/arm/nordic_nrf/common/. -IC:/ncs/v1.9.1/nrf/include -IC:/ncs/v1.9.1/modules/hal/cmsis/CMSIS/Core/Include -IC:/ncs/v1.9.1/modules/hal/nordic/nrfx -IC:/ncs/v1.9.1/modules/hal/nordic/nrfx/drivers/include -IC:/ncs/v1.9.1/modules/hal/nordic/nrfx/mdk -IC:/ncs/v1.9.1/zephyr/modules/hal_nordic/nrfx/. -IC:/ncs/v1.9.1/modules/debug/segger/SEGGER -IC:/ncs/v1.9.1/modules/debug/segger/Config -IC:/ncs/v1.9.1/zephyr/modules/segger/. -IC:/ncs/v1.9.1/zephyr/lib/gui/lvgl -IC:/ncs/v1.9.1/modules/lib/gui/lvgl -isystem C:/ncs/v1.9.1/zephyr/lib/libc/minimal/include -isystem c:/ncs/v1.9.1/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/include -isystem c:/ncs/v1.9.1/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/include-fixed -isystem C:/ncs/v1.9.1/nrfxlib/crypto/nrf_cc310_platform/include -Os -imacros C:/WORKING/NED/Nordic/Software/Testing/lvgl/build/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -gdwarf-4 -fdiagnostics-color=always -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfp16-format=ieee -imacros C:/ncs/v1.9.1/zephyr/include/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-pointer-sign -Wpointer-arith -Wexpansion-to-defined -Wno-unused-but-set-variable -Werror=implicit-int -fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-strict-overflow -fno-reorder-functions -fno-defer-pop -fmacro-prefix-map=C:/WORKING/NED/Nordic/Software/Testing/lvgl=CMAKE_SOURCE_DIR -fmacro-prefix-map=C:/ncs/v1.9.1/zephyr=ZEPHYR_BASE -fmacro-prefix-map=C:/ncs/v1.9.1=WEST_TOPDIR -ffunction-sections -fdata-sections -std=c99 -nostdinc -MD -MT zephyr/lib/gui/lvgl/CMakeFiles/lib__gui__lvgl.dir/lvgl_display_24bit.c.obj -MF zephyr\lib\gui\lvgl\CMakeFiles\lib__gui__lvgl.dir\lvgl_display_24bit.c.obj.d -o zephyr/lib/gui/lvgl/CMakeFiles/lib__gui__lvgl.dir/lvgl_display_24bit.c.obj -c C:/ncs/v1.9.1/zephyr/lib/gui/lvgl/lvgl_display_24bit.c
C:/ncs/v1.9.1/zephyr/lib/gui/lvgl/lvgl_display_24bit.c: In function 'lvgl_flush_cb_24bit':
C:\ncs\v1.9.1\zephyr\lib\gui\lvgl\lvgl_display_24bit.c:14:68: error: 'struct _disp_drv_t' has no member named 'user_data'
   14 |  const struct device *display_dev = (const struct device *)disp_drv->user_data;
      |                                                                    ^~
[62/279] Building C object zephyr/soc/arm/common/cortex_m/CMakeFiles/soc__arm__common__cortex_m.dir/arm_mpu_regions.c.obj
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: 'c:\ncs\v1.9.1\toolchain\opt\bin\cmake.EXE' --build 'c:\WORKING\NED\Nordic\Software\Testing\lvgl\build'

 *  The terminal process terminated with exit code: 1.
 *  Terminal will be reused by tasks, press any key to close it.

Parents Reply Children
  • Hi,

    Im trying to use DMA with SPI. I dont see good examples for NRF52840 and DMA online..

    I've have the following code on the NRF52840 board:

    I have the spi connected to the GC9A01 display from previous code, and it works.

    The above code works..

    In my GC9A01.c   I've added some different code for the SPI and also to include SPIM (dma)

    I am unable to include "nrf_drv_spi.h" ... That file doesnt seem to exist.

    for the spim, I include "nrfx_spim.h" and that does work.

    Also these are the pins that work for my spi connection to the display

    these are specified in nrf52840_nrf52840.overlay

    &spi1 {
        compatible = "nordic,nrf-spim";
        status = "okay";
        sck-pin = <4>;
        mosi-pin = <11>;
        miso-pin = <25>;
        cs-gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
    };

    This is my function for the GC9A01_spi_tx .. It either uses spi or spim,

    the nrf_drv_spi_transfer is not found because there is  no "nrf_dev_spi.h"

    and

    the nrfx_spim_xfer does not seem to work when compiled

    void GC9A01_spi_tx(uint8_t *data, size_t len) {
    #if defined(SPI) && (SPI)
    OLD_GC9A01_spi_tx(data,len);
       // nrf_drv_spi_transfer(&lcd_spi, data, len, 0, 0);
    #else
        nrfx_spim_xfer(&lcd_spim, &xfer_desc, 0); // for SPIM
    #endif
    }

    and here is my write command

    void GC9A01_write_command(uint8_t cmd) {
        DC_OFF;
        CS_OFF;
    #if (!SPI)
        xfer_desc.p_tx_buffer = &cmd;      // for SPIM
        xfer_desc.tx_length = sizeof(cmd); // for SPIM
    #endif
        GC9A01_spi_tx(&cmd, sizeof(cmd));
        CS_ON;
    }

    Questions

    1. How do I include "nrf_dev_spi.h" ?

    2. Does the spim connection need to use different pins ?

    3. Do I need to specify anything in the overlay or anywhere else to enable SPIM ?

    Any suggestions ?

  • Hi, apologies for the late response

    How is the situation now? Have you been able to solve the issues? Is there something you would like me to assist you with?

Related