I am trying to build basic LVGL code and it is giving me the following error. I did not customize the code.
https://github.com/nrfconnect/sdk-zephyr/tree/v3.4.99-ncs1-rc2/samples/subsys/display/lvgl/
prj.conf CONFIG_LV_Z_MEM_POOL_NUMBER_BLOCKS=8 CONFIG_LV_Z_SHELL=y CONFIG_MAIN_STACK_SIZE=2048 CONFIG_DISPLAY=y CONFIG_DISPLAY_LOG_LEVEL_ERR=y CONFIG_LOG=y CONFIG_SHELL=y CONFIG_LVGL=y CONFIG_LV_MEM_CUSTOM=y CONFIG_LV_USE_LOG=y CONFIG_LV_USE_LABEL=y CONFIG_LV_USE_BTN=y CONFIG_LV_USE_IMG=y CONFIG_LV_USE_MONKEY=y CONFIG_LV_FONT_MONTSERRAT_14=y
nrf52dk_nrf52832_deconfig # SPDX-License-Identifier: Apache-2.0 CONFIG_SOC_SERIES_NRF52X=y CONFIG_SOC_NRF52832_QFAA=y CONFIG_BOARD_NRF52DK_NRF52832=y # Enable MPU CONFIG_ARM_MPU=y # Enable hardware stack protection CONFIG_HW_STACK_PROTECTION=y # Enable RTT CONFIG_USE_SEGGER_RTT=y # enable GPIO CONFIG_GPIO=y # enable uart driver CONFIG_SERIAL=y # enable console CONFIG_CONSOLE=y CONFIG_UART_CONSOLE=y CONFIG_PINCTRL=y
nrf52dk_nrf52832.dts /* * Copyright (c) 2017 Shawn Nock <[email protected]> * Copyright (c) 2017 Linaro Limited * * SPDX-License-Identifier: Apache-2.0 */ /dts-v1/; #include <nordic/nrf52832_qfaa.dtsi> #include "nrf52dk_nrf52832-pinctrl.dtsi" #include <zephyr/dt-bindings/input/input-event-codes.h> / { model = "Nordic nRF52 DK NRF52832"; compatible = "nordic,nrf52-dk-nrf52832"; chosen { zephyr,console = &uart0; zephyr,shell-uart = &uart0; zephyr,uart-mcumgr = &uart0; zephyr,bt-mon-uart = &uart0; zephyr,bt-c2h-uart = &uart0; zephyr,sram = &sram0; zephyr,flash = &flash0; zephyr,code-partition = &slot0_partition; }; leds { compatible = "gpio-leds"; led0: led_0 { gpios = <&gpio0 17 GPIO_ACTIVE_LOW>; label = "Green LED 0"; }; led1: led_1 { gpios = <&gpio0 18 GPIO_ACTIVE_LOW>; label = "Green LED 1"; }; led2: led_2 { gpios = <&gpio0 19 GPIO_ACTIVE_LOW>; label = "Green LED 2"; }; led3: led_3 { gpios = <&gpio0 20 GPIO_ACTIVE_LOW>; label = "Green LED 3"; }; }; pwmleds { compatible = "pwm-leds"; pwm_led0: pwm_led_0 { pwms = <&pwm0 0 PWM_MSEC(20) PWM_POLARITY_INVERTED>; }; }; buttons { compatible = "gpio-keys"; button0: button_0 { gpios = <&gpio0 13 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; label = "Push button switch 0"; zephyr,code = <INPUT_KEY_0>; }; button1: button_1 { gpios = <&gpio0 14 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; label = "Push button switch 1"; zephyr,code = <INPUT_KEY_1>; }; button2: button_2 { gpios = <&gpio0 15 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; label = "Push button switch 2"; zephyr,code = <INPUT_KEY_2>; }; button3: button_3 { gpios = <&gpio0 16 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; label = "Push button switch 3"; zephyr,code = <INPUT_KEY_3>; }; }; arduino_header: connector { compatible = "arduino-header-r3"; #gpio-cells = <2>; gpio-map-mask = <0xffffffff 0xffffffc0>; gpio-map-pass-thru = <0 0x3f>; gpio-map = <0 0 &gpio0 3 0>, /* A0 */ <1 0 &gpio0 4 0>, /* A1 */ <2 0 &gpio0 28 0>, /* A2 */ <3 0 &gpio0 29 0>, /* A3 */ <4 0 &gpio0 30 0>, /* A4 */ <5 0 &gpio0 31 0>, /* A5 */ <6 0 &gpio0 11 0>, /* D0 */ <7 0 &gpio0 12 0>, /* D1 */ <8 0 &gpio0 13 0>, /* D2 */ <9 0 &gpio0 14 0>, /* D3 */ <10 0 &gpio0 15 0>, /* D4 */ <11 0 &gpio0 16 0>, /* D5 */ <12 0 &gpio0 17 0>, /* D6 */ <13 0 &gpio0 18 0>, /* D7 */ <14 0 &gpio0 19 0>, /* D8 */ <15 0 &gpio0 20 0>, /* D9 */ <16 0 &gpio0 22 0>, /* D10 */ <17 0 &gpio0 23 0>, /* D11 */ <18 0 &gpio0 24 0>, /* D12 */ <19 0 &gpio0 25 0>, /* D13 */ <20 0 &gpio0 26 0>, /* D14 */ <21 0 &gpio0 27 0>; /* D15 */ }; arduino_adc: analog-connector { compatible = "arduino,uno-adc"; #io-channel-cells = <1>; io-channel-map = <0 &adc 1>, /* A0 = P0.3 = AIN1 */ <1 &adc 2>, /* A1 = P0.4 = AIN2 */ <2 &adc 4>, /* A2 = P0.28 = AIN4 */ <3 &adc 5>, /* A3 = P0.29 = AIN5 */ <4 &adc 6>, /* A4 = P0.30 = AIN6 */ <5 &adc 7>; /* A5 = P0.31 = AIN7 */ }; /* These aliases are provided for compatibility with samples */ aliases { led0 = &led0; led1 = &led1; led2 = &led2; led3 = &led3; pwm-led0 = &pwm_led0; sw0 = &button0; sw1 = &button1; sw2 = &button2; sw3 = &button3; bootloader-led0 = &led0; mcuboot-button0 = &button0; mcuboot-led0 = &led0; watchdog0 = &wdt0; }; }; &adc { status = "okay"; }; &uicr { gpio-as-nreset; }; &gpiote { status = "okay"; }; &gpio0 { status = "okay"; }; arduino_serial: &uart0 { status = "okay"; compatible = "nordic,nrf-uarte"; current-speed = <115200>; pinctrl-0 = <&uart0_default>; pinctrl-1 = <&uart0_sleep>; pinctrl-names = "default", "sleep"; }; arduino_i2c: &i2c0 { compatible = "nordic,nrf-twi"; status = "okay"; pinctrl-0 = <&i2c0_default>; pinctrl-1 = <&i2c0_sleep>; pinctrl-names = "default", "sleep"; }; &i2c1 { compatible = "nordic,nrf-twi"; /* Cannot be used together with spi1. */ /* status = "okay"; */ pinctrl-0 = <&i2c1_default>; pinctrl-1 = <&i2c1_sleep>; pinctrl-names = "default", "sleep"; }; &pwm0 { status = "okay"; pinctrl-0 = <&pwm0_default>; pinctrl-1 = <&pwm0_sleep>; pinctrl-names = "default", "sleep"; }; &spi0 { compatible = "nordic,nrf-spi"; /* Cannot be used together with i2c0. */ /* status = "okay"; */ pinctrl-0 = <&spi0_default>; pinctrl-1 = <&spi0_sleep>; pinctrl-names = "default", "sleep"; }; &spi1 { compatible = "nordic,nrf-spi"; status = "okay"; pinctrl-0 = <&spi1_default>; pinctrl-1 = <&spi1_sleep>; pinctrl-names = "default", "sleep"; }; arduino_spi: &spi2 { compatible = "nordic,nrf-spi"; status = "okay"; cs-gpios = <&arduino_header 16 GPIO_ACTIVE_LOW>; /* D10 */ pinctrl-0 = <&spi2_default>; pinctrl-1 = <&spi2_sleep>; pinctrl-names = "default", "sleep"; }; &flash0 { partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; boot_partition: partition@0 { label = "mcuboot"; reg = <0x00000000 0xc000>; }; slot0_partition: partition@c000 { label = "image-0"; reg = <0x0000C000 0x37000>; }; slot1_partition: partition@43000 { label = "image-1"; reg = <0x00043000 0x37000>; }; storage_partition: partition@7a000 { label = "storage"; reg = <0x0007a000 0x00006000>; }; }; };
Error:
main.c.obj -c ../src/main.c
In file included from C:\ncs\v2.5.0-rc2\zephyr\include\zephyr\toolchain\gcc.h:92,
from C:\ncs\v2.5.0-rc2\zephyr\include\zephyr\toolchain.h:50,
from C:\ncs\v2.5.0-rc2\zephyr\include\zephyr\sys\time_units.h:10,
from C:\ncs\v2.5.0-rc2\zephyr\include\zephyr\sys\util.h:615,
from C:\ncs\v2.5.0-rc2\zephyr\include\zephyr\devicetree.h:25,
from C:\ncs\v2.5.0-rc2\zephyr\include\zephyr\device.h:12,
from d:\nrf\test_proj\test\lvgl\src\main.c:7:
../src/main.c: In function 'main':
C:\ncs\v2.5.0-rc2\zephyr\include\zephyr\device.h:85:41: error: '__device_dts_ord_DT_CHOSEN_zephyr_display_ORD' undeclared (first use in this function)
85 | #define DEVICE_NAME_GET(dev_id) _CONCAT(__device_, dev_id)
| ^~~~~~~~~
C:\ncs\v2.5.0-rc2\zephyr\include\zephyr\toolchain\common.h:132:26: note: in definition of macro '_DO_CONCAT'
132 | #define _DO_CONCAT(x, y) x ## y
| ^
C:\ncs\v2.5.0-rc2\zephyr\include\zephyr\device.h:85:33: note: in expansion of macro '_CONCAT'
85 | #define DEVICE_NAME_GET(dev_id) _CONCAT(__device_, dev_id)
| ^~~~~~~
C:\ncs\v2.5.0-rc2\zephyr\include\zephyr\device.h:211:37: note: in expansion of macro 'DEVICE_NAME_GET'
211 | #define DEVICE_DT_NAME_GET(node_id) DEVICE_NAME_GET(Z_DEVICE_DT_DEV_ID(node_id))
| ^~~~~~~~~~~~~~~
C:\ncs\v2.5.0-rc2\zephyr\include\zephyr\device.h:228:34: note: in expansion of macro 'DEVICE_DT_NAME_GET'
228 | #define DEVICE_DT_GET(node_id) (&DEVICE_DT_NAME_GET(node_id))
| ^~~~~~~~~~~~~~~~~~
d:\nrf\test_proj\test\lvgl\src\main.c:46:23: note: in expansion of macro 'DEVICE_DT_GET'
46 | display_dev = DEVICE_DT_GET(DT_CHOSEN(zephyr_display));
| ^~~~~~~~~~~~~
C:\ncs\v2.5.0-rc2\zephyr\include\zephyr\device.h:85:41: note: each undeclared identifier is reported only once for each function it appears in
85 | #define DEVICE_NAME_GET(dev_id) _CONCAT(__device_, dev_id)
| ^~~~~~~~~
C:\ncs\v2.5.0-rc2\zephyr\include\zephyr\toolchain\common.h:132:26: note: in definition of macro '_DO_CONCAT'
132 | #define _DO_CONCAT(x, y) x ## y
| ^
C:\ncs\v2.5.0-rc2\zephyr\include\zephyr\device.h:85:33: note: in expansion of macro '_CONCAT'
85 | #define DEVICE_NAME_GET(dev_id) _CONCAT(__device_, dev_id)
| ^~~~~~~
C:\ncs\v2.5.0-rc2\zephyr\include\zephyr\device.h:211:37: note: in expansion of macro 'DEVICE_NAME_GET'
211 | #define DEVICE_DT_NAME_GET(node_id) DEVICE_NAME_GET(Z_DEVICE_DT_DEV_ID(node_id))
| ^~~~~~~~~~~~~~~
C:\ncs\v2.5.0-rc2\zephyr\include\zephyr\device.h:228:34: note: in expansion of macro 'DEVICE_DT_NAME_GET'
228 | #define DEVICE_DT_GET(node_id) (&DEVICE_DT_NAME_GET(node_id))
| ^~~~~~~~~~~~~~~~~~
d:\nrf\test_proj\test\lvgl\src\main.c:46:23: note: in expansion of macro 'DEVICE_DT_GET'
46 | display_dev = DEVICE_DT_GET(DT_CHOSEN(zephyr_display));
| ^~~~~~~~~~~~~
[48/357] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/printk.c.obj
[49/357] Building C object zephyr/CMakeFiles/zephyr.dir/lib/posix/getopt/getopt.c.obj
[50/357] Building C object zephyr/CMakeFiles/zephyr.dir/lib/os/cbprintf_packaged.c.obj
[51/357] Building ASM object zephyr/arch/arch/arm/core/aarch32/CMakeFiles/arch__arm__core__aarch32.dir/isr_wrapper.S.obj
[52/357] Building C object zephyr/arch/common/CMakeFiles/isr_tables.dir/isr_tables.c.obj
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: 'C:\ncs\toolchains\c57af46cb7\opt\bin\cmake.EXE' --build 'd:\nrf\test_proj\test\lvgl\build'