Hi,
I am trying to compile the cfb sample as provided in v2.0.0.
/opt/nordic/ncs/v2.0.0/zephyr/samples/subsys/display/cfb
my overlay file is as follows
/ {
chosen {
zephyr,display = &dummy_dc;
};
dummy_dc: dummy_dc {
compatible = "zephyr,dummy-dc";
label = "DISPLAY";
height = <240>;
width = <320>;
};
};
&pinctrl {
uart0_default_alt: uart0_default_alt {
group0 {
psels = <NRF_PSEL(UART_TX, 0, 24)>, <NRF_PSEL(UART_RX, 0, 22)>;
};
};
uart0_sleep_alt: uart0_sleep_alt {
group1 {
psels = <NRF_PSEL(UART_TX, 0, 24)>, <NRF_PSEL(UART_RX, 0, 22)>;
low-power-enable;
};
};
i2c1_default_alt: i2c1_default_alt {
group2 {
psels = <NRF_PSEL(TWIM_SDA, 0, 17)>,
<NRF_PSEL(TWIM_SCL, 0, 20)>;
};
};
};
&uart0 {
pinctrl-0 = <&uart0_default_alt>;
pinctrl-1 = <&uart0_sleep_alt>;
pinctrl-names = "default", "sleep";
compatible = "nordic,nrf-uart";
current-speed = <115200>;
status = "okay";
};
&i2c1 {
status = "okay";
compatible = "nordic,nrf-twim";
pinctrl-0 = <&i2c1_default_alt>;
pinctrl-names = "default", "sleep";
clock-frequency = <I2C_BITRATE_STANDARD>;
ssd1306@3c {
compatible = "solomon,ssd1306fb";
reg = <0x3c>;
label = "SSD1306";
height = <32>;
width = <128>;
segment-offset = <0>;
page-offset = <0>;
display-offset = <0>;
multiplex-ratio = <31>;
prechargep = <0xD1>;
segment-remap;
com-invdir;
com-sequential;
};
};
&i2c1 {
/delete-property/sda-gpios;
/delete-property/scl-gpios;
};
and my prj file
# General config CONFIG_BOARD_HAS_NRF5_BOOTLOADER=n CONFIG_ASSERT=y CONFIG_TEST_RANDOM_GENERATOR=y CONFIG_GPIO=y CONFIG_SERIAL=y CONFIG_UART_INTERRUPT_DRIVEN=y CONFIG_TEST_RANDOM_GENERATOR=y CONFIG_NEWLIB_LIBC=y CONFIG_CONSOLE_SUBSYS=y CONFIG_CONSOLE_GETCHAR=y CONFIG_STDOUT_CONSOLE=y CONFIG_CONSOLE=y CONFIG_CPLUSPLUS=y CONFIG_LOG=y CONFIG_SHELL=y CONFIG_REBOOT=y CONFIG_NEWLIB_LIBC_FLOAT_PRINTF=y CONFIG_UART_CONSOLE=y CONFIG_GPIO=y CONFIG_STDOUT_CONSOLE=y CONFIG_PRINTK=y CONFIG_PINCTRL=y CONFIG_PM_DEVICE=y CONFIG_I2C=y CONFIG_I2C_NRFX=y CONFIG_SENSOR=y CONFIG_BOOT_BANNER=n CONFIG_DISPLAY=y CONFIG_CHARACTER_FRAMEBUFFER=y CONFIG_SHELL=y CONFIG_CHARACTER_FRAMEBUFFER_SHELL=y CONFIG_SSD1306=y CONFIG_HEAP_MEM_POOL_SIZE=16384 CONFIG_CFB_LOG_LEVEL_DBG=y
When I try to build, I get the following error ,
[0/1] Re-running CMake...
Loading Zephyr default modules (Zephyr base (cached)).
-- Application: /Users/Watt/Documents/ZEPHYR_Code/nRF52840_Dongle/New_Code/cfb
-- Using NCS Toolchain 2.0.0 for building. (/opt/nordic/ncs/toolchains/v2.0.0/cmake)
-- Cache files will be written to: /Users/Watt/Library/Caches/zephyr
-- Zephyr version: 3.0.99 (/opt/nordic/ncs/v2.0.0/zephyr)
-- Found west (found suitable version "0.13.1", minimum required is "0.7.1")
-- Board: nrf52840dongle_nrf52840
-- Found host-tools: zephyr 0.14.1 (/Users/Watt/zephyr-sdk-0.14.1)
-- Found dtc: /opt/nordic/ncs/toolchains/v2.0.0/bin/dtc (found suitable version "1.6.1", minimum required is "1.4.6")
-- Found toolchain: zephyr 0.14.1 (/Users/Watt/zephyr-sdk-0.14.1)
-- Found BOARD.dts: /opt/nordic/ncs/v2.0.0/zephyr/boards/arm/nrf52840dongle_nrf52840/nrf52840dongle_nrf52840.dts
-- Found devicetree overlay: /Users/Watt/Documents/ZEPHYR_Code/nRF52840_Dongle/New_Code/cfb/nrf52840dongle_nrf52840.overlay
-- Generated zephyr.dts: /Users/Watt/Documents/ZEPHYR_Code/nRF52840_Dongle/New_Code/cfb/build/zephyr/zephyr.dts
-- Generated devicetree_unfixed.h: /Users/Watt/Documents/ZEPHYR_Code/nRF52840_Dongle/New_Code/cfb/build/zephyr/include/generated/devicetree_unfixed.h
-- Generated device_extern.h: /Users/Watt/Documents/ZEPHYR_Code/nRF52840_Dongle/New_Code/cfb/build/zephyr/include/generated/device_extern.h
-- Including generated dts.cmake file: /Users/Watt/Documents/ZEPHYR_Code/nRF52840_Dongle/New_Code/cfb/build/zephyr/dts.cmake
Parsing /opt/nordic/ncs/v2.0.0/zephyr/Kconfig
Loaded configuration '/opt/nordic/ncs/v2.0.0/zephyr/boards/arm/nrf52840dongle_nrf52840/nrf52840dongle_nrf52840_defconfig'
Merged configuration '/Users/Watt/Documents/ZEPHYR_Code/nRF52840_Dongle/New_Code/cfb/prj.conf'
No change to configuration in '/Users/Watt/Documents/ZEPHYR_Code/nRF52840_Dongle/New_Code/cfb/build/zephyr/.config'
No change to Kconfig header in '/Users/Watt/Documents/ZEPHYR_Code/nRF52840_Dongle/New_Code/cfb/build/zephyr/include/generated/autoconf.h'
CMake Warning at /opt/nordic/ncs/v2.0.0/zephyr/subsys/random/CMakeLists.txt:11 (message):
Warning: CONFIG_TEST_RANDOM_GENERATOR is not a truly random generator.
This capability is not secure and it is provided for testing purposes only.
Use it carefully.
CMake Warning at /opt/nordic/ncs/v2.0.0/zephyr/CMakeLists.txt:1803 (message):
__ASSERT() statements are globally ENABLED
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/Watt/Documents/ZEPHYR_Code/nRF52840_Dongle/New_Code/cfb/build
[1/1] cd /Users/Watt/Documents/ZEPHYR_...ncs/v2.0.0/zephyr/cmake/pristine.cmake
Loading Zephyr default modules (Zephyr base).
-- Application: /Users/Watt/Documents/ZEPHYR_Code/nRF52840_Dongle/New_Code/cfb
-- Using NCS Toolchain 2.0.0 for building. (/opt/nordic/ncs/toolchains/v2.0.0/cmake)
-- Found Python3: /opt/nordic/ncs/toolchains/v2.0.0/bin/python3 (found suitable exact version "3.9.6") found components: Interpreter
-- Cache files will be written to: /Users/Watt/Library/Caches/zephyr
-- Zephyr version: 3.0.99 (/opt/nordic/ncs/v2.0.0/zephyr)
-- Found west (found suitable version "0.13.1", minimum required is "0.7.1")
-- Board: nrf52840dongle_nrf52840
-- Found host-tools: zephyr 0.14.1 (/Users/Watt/zephyr-sdk-0.14.1)
-- Found dtc: /opt/nordic/ncs/toolchains/v2.0.0/bin/dtc (found suitable version "1.6.1", minimum required is "1.4.6")
-- Found toolchain: zephyr 0.14.1 (/Users/Watt/zephyr-sdk-0.14.1)
-- Found BOARD.dts: /opt/nordic/ncs/v2.0.0/zephyr/boards/arm/nrf52840dongle_nrf52840/nrf52840dongle_nrf52840.dts
-- Found devicetree overlay: /Users/Watt/Documents/ZEPHYR_Code/nRF52840_Dongle/New_Code/cfb/nrf52840dongle_nrf52840.overlay
-- Generated zephyr.dts: /Users/Watt/Documents/ZEPHYR_Code/nRF52840_Dongle/New_Code/cfb/build/zephyr/zephyr.dts
-- Generated devicetree_unfixed.h: /Users/Watt/Documents/ZEPHYR_Code/nRF52840_Dongle/New_Code/cfb/build/zephyr/include/generated/devicetree_unfixed.h
-- Generated device_extern.h: /Users/Watt/Documents/ZEPHYR_Code/nRF52840_Dongle/New_Code/cfb/build/zephyr/include/generated/device_extern.h
-- Including generated dts.cmake file: /Users/Watt/Documents/ZEPHYR_Code/nRF52840_Dongle/New_Code/cfb/build/zephyr/dts.cmake
Parsing /opt/nordic/ncs/v2.0.0/zephyr/Kconfig
Loaded configuration '/opt/nordic/ncs/v2.0.0/zephyr/boards/arm/nrf52840dongle_nrf52840/nrf52840dongle_nrf52840_defconfig'
Merged configuration '/Users/Watt/Documents/ZEPHYR_Code/nRF52840_Dongle/New_Code/cfb/prj.conf'
Configuration saved to '/Users/Watt/Documents/ZEPHYR_Code/nRF52840_Dongle/New_Code/cfb/build/zephyr/.config'
Kconfig header saved to '/Users/Watt/Documents/ZEPHYR_Code/nRF52840_Dongle/New_Code/cfb/build/zephyr/include/generated/autoconf.h'
-- The C compiler identification is GNU 10.3.0
-- The CXX compiler identification is GNU 10.3.0
-- The ASM compiler identification is GNU
-- Found assembler: /Users/Watt/zephyr-sdk-0.14.1/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc
CMake Warning at /opt/nordic/ncs/v2.0.0/zephyr/subsys/random/CMakeLists.txt:11 (message):
Warning: CONFIG_TEST_RANDOM_GENERATOR is not a truly random generator.
This capability is not secure and it is provided for testing purposes only.
Use it carefully.
CMake Warning at /opt/nordic/ncs/v2.0.0/zephyr/CMakeLists.txt:1803 (message):
__ASSERT() statements are globally ENABLED
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/Watt/Documents/ZEPHYR_Code/nRF52840_Dongle/New_Code/cfb/build
Make Complete
/Users/Watt/Documents/ZEPHYR_Code/nRF52840_Dongle/New_Code/cfb/build
[1/203] Preparing syscall dependency handling
[2/203] Generating include/generated/version.h
-- Zephyr version: 3.0.99 (/opt/nordic/ncs/v2.0.0/zephyr), build: v3.0.99-ncs1
[193/203] Linking CXX executable zephyr/zephyr_pre0.elf
FAILED: zephyr/zephyr_pre0.elf zephyr/zephyr_pre0.map /Users/Watt/Documents/ZEPHYR_Code/nRF52840_Dongle/New_Code/cfb/build/zephyr/zephyr_pre0.map
: && ccache /Users/Watt/zephyr-sdk-0.14.1/arm-zephyr-eabi/bin/arm-zephyr-eabi-g++ zephyr/CMakeFiles/zephyr_pre0.dir/misc/empty_file.c.obj -o zephyr/zephyr_pre0.elf zephyr/CMakeFiles/offsets.dir/./arch/arm/core/offsets/offsets.c.obj -fuse-ld=bfd -Wl,-T zephyr/linker_zephyr_pre0.cmd -Wl,-Map=/Users/Watt/Documents/ZEPHYR_Code/nRF52840_Dongle/New_Code/cfb/build/zephyr/zephyr_pre0.map -Wl,--whole-archive app/libapp.a zephyr/libzephyr.a zephyr/arch/common/libarch__common.a zephyr/arch/arch/arm/core/aarch32/libarch__arm__core__aarch32.a zephyr/arch/arch/arm/core/aarch32/cortex_m/libarch__arm__core__aarch32__cortex_m.a zephyr/arch/arch/arm/core/aarch32/mpu/libarch__arm__core__aarch32__mpu.a zephyr/lib/libc/newlib/liblib__libc__newlib.a zephyr/lib/posix/liblib__posix.a zephyr/soc/arm/common/cortex_m/libsoc__arm__common__cortex_m.a zephyr/soc/arm/nordic_nrf/nrf52/libsoc__arm__nordic_nrf__nrf52.a zephyr/boards/arm/nrf52840dongle_nrf52840/libboards__arm__nrf52840dongle_nrf52840.a zephyr/subsys/random/libsubsys__random.a zephyr/drivers/clock_control/libdrivers__clock_control.a zephyr/drivers/console/libdrivers__console.a zephyr/drivers/display/libdrivers__display.a zephyr/drivers/gpio/libdrivers__gpio.a zephyr/drivers/i2c/libdrivers__i2c.a zephyr/drivers/sensor/libdrivers__sensor.a zephyr/drivers/serial/libdrivers__serial.a zephyr/drivers/timer/libdrivers__timer.a zephyr/drivers/pinctrl/libdrivers__pinctrl.a modules/nrf/lib/fatal_error/lib..__nrf__lib__fatal_error.a modules/nrf/drivers/hw_cc310/lib..__nrf__drivers__hw_cc310.a modules/hal_nordic/nrfx/libmodules__hal_nordic__nrfx.a -Wl,--no-whole-archive zephyr/kernel/libkernel.a -L"/Users/Watt/zephyr-sdk-0.14.1/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/10.3.0/thumb/v7e-m/nofp" -L/Users/Watt/Documents/ZEPHYR_Code/nRF52840_Dongle/New_Code/cfb/build/zephyr -lgcc zephyr/arch/common/libisr_tables.a -no-pie -mcpu=cortex-m4 -mthumb -mabi=aapcs -mfp16-format=ieee -Wl,--gc-sections -Wl,--build-id=none -Wl,--sort-common=descending -Wl,--sort-section=alignment -Wl,-u,_OffsetAbsSyms -Wl,-u,_ConfigAbsSyms -nostdlib -static -Wl,-X -Wl,-N -Wl,--orphan-handling=warn -lm -Wl,-lc -L"/Users/Watt/zephyr-sdk-0.14.1/arm-zephyr-eabi/arm-zephyr-eabi"/lib/thumb/v7e-m/nofp -u_printf_float -Wl,-lgcc -lc -specs=nano.specs /opt/nordic/ncs/v2.0.0/nrfxlib/crypto/nrf_cc310_platform/lib/cortex-m4/soft-float/no-interrupts/libnrf_cc310_platform_0.9.14.a -lc && cd /Users/Watt/Documents/ZEPHYR_Code/nRF52840_Dongle/New_Code/cfb/build/zephyr && /usr/local/Cellar/cmake/3.23.2/bin/cmake -E echo
/Users/Watt/zephyr-sdk-0.14.1/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/10.3.0/../../../../arm-zephyr-eabi/bin/ld.bfd: app/libapp.a(main.c.obj): in function `main':
/Users/Watt/Documents/ZEPHYR_Code/nRF52840_Dongle/New_Code/cfb/src/main.c:73: undefined reference to `__device_dts_ord_3'
/Users/Watt/zephyr-sdk-0.14.1/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/10.3.0/../../../../arm-zephyr-eabi/bin/ld.bfd: zephyr/libzephyr.a(cfb_shell.c.obj): in function `cmd_init':
/opt/nordic/ncs/v2.0.0/zephyr/subsys/fb/cfb_shell.c:428: undefined reference to `__device_dts_ord_3'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
Parsing image file.
ERROR: The file specified could not be found.
NOTE: For additional output, try running again with logging enabled (--log).
NOTE: Any generated log error messages will be displayed.
Thanks in advance
Rod