How to reduce the size of an executable file?

Hello,

I have modified the central_uart example to make the nRF52832 communicate with an ESP32 in MessagePack. After having disabled the logger configuration in the proj.conf file the size of the *.bin file is 225.8 kB which is too large for an nRF52805 (flash of 192 kB). Is there any way to reduce the bin file size?

Below the proj.conf file:

#
# Copyright (c) 2018 Nordic Semiconductor
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#

# Enable the UART driver
CONFIG_UART_ASYNC_API=y
CONFIG_NRFX_UARTE0=y
CONFIG_SERIAL=y
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y

# Enable the BLE stack with GATT Client configuration
CONFIG_BT=y
CONFIG_BT_CENTRAL=y
CONFIG_BT_SMP=y
CONFIG_BT_GATT_CLIENT=y

# Enable the BLE modules from NCS
CONFIG_BT_NUS_CLIENT=y
CONFIG_BT_SCAN=y
CONFIG_BT_SCAN_FILTER_ENABLE=y
CONFIG_BT_SCAN_UUID_CNT=1
CONFIG_BT_SCAN_ADDRESS_CNT=1
CONFIG_BT_GATT_DM=y
CONFIG_HEAP_MEM_POOL_SIZE=2048
CONFIG_BT_MAX_PAIRED=1
CONFIG_BT_MAX_CONN=1

# This example requires more workqueue stack
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048

# Enable bonding
CONFIG_BT_SETTINGS=y
CONFIG_FLASH=y
CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_FLASH_MAP=y
CONFIG_NVS=y
CONFIG_SETTINGS=y

# Enable use of the non-minimal C functionality (stdio.h).
CONFIG_NEWLIB_LIBC=y

# Config logger
CONFIG_LOG=n
CONFIG_USE_SEGGER_RTT=y
CONFIG_LOG_BACKEND_RTT=n
CONFIG_LOG_BACKEND_UART=n
CONFIG_LOG_PRINTK=n
CONFIG_BT_DEBUG_LOG=n
CONFIG_BT_GATT_DM_DATA_PRINT=n

CONFIG_ASSERT=y

# Config I2C
CONFIG_GPIO=y
CONFIG_I2C=y
CONFIG_I2C_NRFX=y

CONFIG_SHELL=y
CONFIG_I2C_SHELL=y

Regards,

Marco

Parents
  • Hey Marco,

    Just curious, have you tried using CONFIG_SIZE_OPTIMIZATIONS=y so GCC optimizes for size? That may work. Also, have you tried using the minimal C library (CONFIG_MINIMAL_LIBC=y) instead of Newlib (CONFIG_NEWLIB_LIBC=y)?

  • Hello James,

    Yes, I'm using CONFIG_SIZE_OPTIMIZATIONS=y but I have not tried CONFIG_MINIMAL_LIBC=y yet. Should this be configured in the prj.conf file?

  • Hello,

    I was having the same problem as msu i.e. the program size has become too big for the flash. So, I switched to using CONFIG_MINIMAL_LIBC=y but I am now getting compiler errors such as undefined reference to function abs(), undefined type time_t...

    Can someone please help?

    Thank you.

    Kind regards

    Mohamed

  • Hello Mohamed,

    Make sure you have the following headers included:

    #include <stdlib.h>
    #include <time.h>

  • Good Morning James,

    Thank you.

    Adding the two header files solved my initial problem. However, the linker is now complaining about undefined reference to sscanf(), rand() and srand().

    Note, I am already #including <stdio.h> and <stdlib.h>.

    The compiler is sending only a warning about sscanf()

    warning: implicit declaration of function 'sscanf' [-Wimplicit-function-declaration]

    It looks like the MINIMAL_LIBC does not include these functions.

    Thank you for your help.

    Mohamed

    1> Linking ‘zephyr_prebuilt.elf’
    1> C:\Zypher\v1.7.0\toolchain\opt/bin/arm-none-eabi-gcc zephyr/CMakeFiles/zephyr_prebuilt.dir/misc/empty_file.c.obj -Wl,-T zephyr/linker_zephyr_prebuilt.cmd -Wl,-Map=C:/Sandbox/HomeBeacon_dev_sb/build_nrf52833dk_nrf52833_v149_tuning/zephyr/zephyr_prebuilt.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/minimal/liblib__libc__minimal.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/subsys/bluetooth/common/libsubsys__bluetooth__common.a zephyr/subsys/bluetooth/host/libsubsys__bluetooth__host.a zephyr/subsys/bluetooth/controller/libsubsys__bluetooth__controller.a zephyr/subsys/dfu/boot/libsubsys__dfu__boot.a zephyr/subsys/net/libsubsys__net.a zephyr/subsys/random/libsubsys__random.a zephyr/drivers/adc/libdrivers__adc.a zephyr/drivers/gpio/libdrivers__gpio.a zephyr/drivers/i2c/libdrivers__i2c.a zephyr/drivers/pwm/libdrivers__pwm.a zephyr/drivers/sensor/nrf5/libdrivers__sensor__nrf5.a zephyr/drivers/spi/libdrivers__spi.a zephyr/drivers/flash/libdrivers__flash.a zephyr/drivers/entropy/libdrivers__entropy.a modules/nrf/subsys/dfu/dfu_target/lib..__nrf__subsys__dfu__dfu_target.a modules/mcuboot/boot/bootutil/zephyr/libmcuboot_util.a modules/hal_nordic/nrfx/libmodules__hal_nordic__nrfx.a modules/segger/libmodules__segger.a -Wl,--no-whole-archive zephyr/kernel/libkernel.a zephyr/CMakeFiles/offsets.dir/./arch/arm/core/offsets/offsets.c.obj -Lc:/zypher/v1.7.0/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/thumb/v7e-m/nofp -LC:/Sandbox/HomeBeacon_dev_sb/build_nrf52833dk_nrf52833_v149_tuning/zephyr -lgcc zephyr/arch/common/libisr_tables.a -mcpu=cortex-m4 -mthumb -mabi=aapcs -Wl,--gc-sections -Wl,--build-id=none -Wl,--sort-common=descending -Wl,--sort-section=alignment -Wl,-u,_OffsetAbsSyms -Wl,-u,_ConfigAbsSyms -nostdlib -static -no-pie -Wl,-X -Wl,-N -Wl,--orphan-handling=warn -o zephyr\zephyr_prebuilt.elf
    1> c:/zypher/v1.7.0/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: app/libapp.a(debug_console.c.obj): in function `debug_MainMenu':
    1> C:\Sandbox\HomeBeacon_dev_sb\build_nrf52833dk_nrf52833_v149_tuning/../src/debug/debug_console.c:411: undefined reference to `sscanf'
    1> c:/zypher/v1.7.0/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: app/libapp.a(debug_menu_power.c.obj): in function `debug_PowerMenu':
    1> C:\Sandbox\HomeBeacon_dev_sb\build_nrf52833dk_nrf52833_v149_tuning/../src/debug/debug_menu_power.c:137: undefined reference to `sscanf'
    1> c:/zypher/v1.7.0/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: app/libapp.a(debug_menu_radio.c.obj): in function `debug_RadioMenu':
    1> C:\Sandbox\HomeBeacon_dev_sb\build_nrf52833dk_nrf52833_v149_tuning/../src/debug/debug_menu_radio.c:184: undefined reference to `sscanf'
    1> c:/zypher/v1.7.0/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: app/libapp.a(debug_menu_sensors.c.obj): in function `debug_SensorsMenu':
    1> C:\Sandbox\HomeBeacon_dev_sb\build_nrf52833dk_nrf52833_v149_tuning/../src/debug/debug_menu_sensors.c:149: undefined reference to `sscanf'
    1> c:/zypher/v1.7.0/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: app/libapp.a(link_manager.c.obj): in function `link_GenerateSessionKey':
    1> C:\Sandbox\HomeBeacon_dev_sb\build_nrf52833dk_nrf52833_v149_tuning/../src/link/link_manager.c:972: undefined reference to `rand'
    1> c:/zypher/v1.7.0/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: app/libapp.a(link_message_handler.c.obj): in function `link_ProcessCommand':
    1> C:\Sandbox\HomeBeacon_dev_sb\build_nrf52833dk_nrf52833_v149_tuning/../src/link/link_message_handler.c:347: undefined reference to `rand'
    1> c:/zypher/v1.7.0/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Sandbox\HomeBeacon_dev_sb\build_nrf52833dk_nrf52833_v149_tuning/../src/link/link_message_handler.c:387: undefined reference to `rand'
    1> c:/zypher/v1.7.0/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: app/libapp.a(link_message_testing.c.obj): in function `link_Test_Process':
    1> C:\Sandbox\HomeBeacon_dev_sb\build_nrf52833dk_nrf52833_v149_tuning/../src/link/link_message_testing.c:912: undefined reference to `rand'
    1> c:/zypher/v1.7.0/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: C:\Sandbox\HomeBeacon_dev_sb\build_nrf52833dk_nrf52833_v149_tuning/../src/link/link_message_testing.c:936: undefined reference to `rand'
    1> c:/zypher/v1.7.0/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: app/libapp.a(main.c.obj): in function `main':
    1> C:\Sandbox\HomeBeacon_dev_sb\build_nrf52833dk_nrf52833_v149_tuning/../src/main.c:321: undefined reference to `srand'
    1> c:/zypher/v1.7.0/toolchain/opt/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld.exe: app/libapp.a(utils.c.obj): in function `util_RandFromToCount':
    1> C:\Sandbox\HomeBeacon_dev_sb\build_nrf52833dk_nrf52833_v149_tuning/../src/utils/utils.c:256: undefined reference to `rand'
    1> collect2.exe: error: ld returned 1 exit status
    Build failed

  • Good morning Mohamad,

    For rand() and srand() you need to enable CONFIG_MINIMAL_LIBC_RAND to expose those. Once you have that then having the #include <stdlib.h> should be fine. Unfortunately, the minimal library does not implement the sscanf functionality. I'm not sure of anything equivalent either.

    I just found this lightweight implementation of sscanf that may work? I have not tried it, but would be worth you checking: https://github.com/tusharjois/bscanf

  • Good Afternoon James,

    Thank you.

    For rand() and srand() you need to enable CONFIG_MINIMAL_LIBC_RAND to expose those.

    It worked as expected.

    the minimal library does not implement the sscanf functionality

    I addressed this by replacing calls to sscanf() with strtol(). I can now build the application. I just hope I have not introduced another problem by switching from sscanf() to strtol().

    Thank you again for your help.

    Kind regards

    Mohamed

Reply Children
  • Hey Mohamad,

    You're more than welcome and glad to hear you got it working!

  • Hi James,

    I just hope I have not introduced another problem by switching from sscanf() to strtol().

    Guess what! I have. Quite a fatal one.

    [00:20:07.178,344] <inf> uart: -> ProcessRxByte: 0x0D
    [00:23:21.285,461] <err> os: ***** MPU FAULT *****
    [00:23:21.285,461] <err> os: Instruction Access Violation
    [00:23:21.285,461] <err> os: r0/a1: 0x00000002 r1/a2: 0x00000003 r2/a3: 0x20009446
    [00:23:21.285,491] <err> os: r3/a4: 0x20009448 r12/ip: 0x20009446 r14/lr: 0x00000000
    [00:23:21.285,491] <err> os: xpsr: 0x21000000
    [00:23:21.285,491] <err> os: Faulting instruction address (r15/pc): 0x200041f4
    [00:23:21.285,491] <err> os: >>> ZEPHYR FATAL ERROR 0: CPU exception on CPU 0
    [00:23:21.285,522] <err> os: Current thread: 0x20001d30 (main)
    [00:23:21.664,062] <err> os: Halting system

    It looks like I am having a stack overflow problem but the error message above suggests otherwise.

    Any idea?

    Kind regards

    Mohamed

  • Hey Mohamed,

    Oh do I feel your pain! These are never fun to track down. I would increase your  CONFIG_MAIN_STACK_SIZE just to see if that's it. Some times Zephyr will say stack overflow and other times it just throws exceptions like this one. It's almost always a stack overflow.

  • You could also try setting these configs too, just to see where all of your stacks are at:

    CONFIG_THREAD_NAME=y
    CONFIG_THREAD_MONITOR=y
    
    CONFIG_THREAD_STACK_INFO=y
    CONFIG_THREAD_RUNTIME_STATS=y
    CONFIG_SCHED_THREAD_USAGE=y
    CONFIG_SCHED_THREAD_USAGE_ALL=y
    CONFIG_THREAD_ANALYZER=y
    CONFIG_THREAD_ANALYZER_AUTO=y
    CONFIG_THREAD_ANALYZER_USE_LOG=y
    CONFIG_THREAD_ANALYZER_ISR_STACK_USAGE=y
    CONFIG_THREAD_ANALYZER_AUTO_STACK_SIZE=2048

  • Hi James,

    Thank you for the tips on stack analysis.

    When I added the stack config items you suggested I got this error when loading the project in Segger Embedded Studio (SES) v5.60. Note, I am using zephyr v1.7.0.

    error: cmake failed
    create_nordic_project.py failed (1)

    So, I removed them and started adding one at the time and the first one that triggered the error was CONFIG_SCHED_THREAD_USAGE=y, these other two also caused the same error, CONFIG_THREAD_ANALYZER_USE_LOG=y
    CONFIG_THREAD_ANALYZER_ISR_STACK_USAGE=y

    So, this is the config I am using for stack analysis,

    ### THREAD STACK ANALYSIS - start ###
    #
    CONFIG_THREAD_ANALYZER=y
    #CONFIG_THREAD_ANALYZER_USE_PRINTK=y
    CONFIG_THREAD_ANALYZER_AUTO=y
    CONFIG_THREAD_ANALYZER_AUTO_INTERVAL=5
    CONFIG_THREAD_ANALYZER_AUTO_STACK_SIZE=2048
    CONFIG_THREAD_NAME=y

    #CONFIG_INIT_STACKS=y
    CONFIG_THREAD_STACK_INFO=y

    CONFIG_RESET_ON_FATAL_ERROR=n
    #CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=8192
    CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096


    CONFIG_THREAD_MONITOR=y
    CONFIG_THREAD_RUNTIME_STATS=y
    #CONFIG_SCHED_THREAD_USAGE=y
    #CONFIG_SCHED_THREAD_USAGE_ALL=y
    CONFIG_THREAD_ANALYZER_USE_LOG=y
    #CONFIG_THREAD_ANALYZER_ISR_STACK_USAGE=y
    #
    ### THREAD STACK ANALYSIS - end ###

    The complete trace leading up to the error is shown below.

    Back to the MPU FAULT crash, the stack analysis is not showing much because up until just before the crash occurs the stack usage looks good then the crash occurs and the program breaks in fault_s.S before the stack analyser had a chance to display its statistics.

    See trace from SES

    *** First, before BLE activity starts,

    [00:01:00.071,136] <inf> thread_analyzer: Thread analyze:
    [00:01:00.071,441] <inf> thread_analyzer: thread_analyzer : STACK: unused 1788 usage 260 / 2048 (12 %); CPU: 0 %
    [00:01:00.072,143] <inf> thread_analyzer: sysworkq : STACK: unused 3936 usage 160 / 4096 (3 %); CPU: 0 %
    [00:01:00.072,204] <inf> thread_analyzer: logging : STACK: unused 264 usage 504 / 768 (65 %); CPU: 0 %
    [00:01:00.072,265] <inf> thread_analyzer: idle 00 : STACK: unused 248 usage 72 / 320 (22 %); CPU: 99 %
    [00:01:00.073,425] <inf> thread_analyzer: main : STACK: unused 7408 usage 784 / 8192 (9 %); CPU: 0 %

    [00:01:05.073,516] <inf> thread_analyzer: Thread analyze:
    [00:01:05.073,822] <inf> thread_analyzer: thread_analyzer : STACK: unused 1788 usage 260 / 2048 (12 %); CPU: 0 %
    [00:01:05.074,462] <inf> thread_analyzer: sysworkq : STACK: unused 3936 usage 160 / 4096 (3 %); CPU: 0 %
    [00:01:05.074,523] <inf> thread_analyzer: logging : STACK: unused 264 usage 504 / 768 (65 %); CPU: 0 %
    [00:01:05.074,584] <inf> thread_analyzer: idle 00 : STACK: unused 248 usage 72 / 320 (22 %); CPU: 99 %
    [00:01:05.075,775] <inf> thread_analyzer: main : STACK: unused 7408 usage 784 / 8192 (9 %); CPU: 0 %

    [00:01:10.075,836] <inf> thread_analyzer: Thread analyze:
    [00:01:10.076,141] <inf> thread_analyzer: thread_analyzer : STACK: unused 1788 usage 260 / 2048 (12 %); CPU: 0 %
    [00:01:10.076,782] <inf> thread_analyzer: sysworkq : STACK: unused 3936 usage 160 / 4096 (3 %); CPU: 0 %
    [00:01:10.076,843] <inf> thread_analyzer: logging : STACK: unused 264 usage 504 / 768 (65 %); CPU: 0 %
    [00:01:10.076,904] <inf> thread_analyzer: idle 00 : STACK: unused 248 usage 72 / 320 (22 %); CPU: 99 %
    [00:01:10.078,094] <inf> thread_analyzer: main : STACK: unused 7408 usage 784 / 8192 (9 %); CPU: 0 %

    *** Then after BLE activity starts. Notice, the extra stack stats in blue. I am not suggesting the BLE activity is causing this crash.

    [00:02:15.370,788] <inf> thread_analyzer: Thread analyze:
    [00:02:15.370,880] <inf> thread_analyzer: BT RX : STACK: unused 384 usage 640 / 1024 (62 %); CPU: 0 %
    [00:02:15.370,941] <inf> thread_analyzer: BT RX pri : STACK: unused 208 usage 240 / 448 (53 %); CPU: 0 %
    [00:02:15.371,215] <inf> thread_analyzer: BT TX : STACK: unused 240 usage 400 / 640 (62 %); CPU: 0 %
    [00:02:15.371,520] <inf> thread_analyzer: thread_analyzer : STACK: unused 1776 usage 272 / 2048 (13 %); CPU: 0 %
    [00:02:15.372,131] <inf> thread_analyzer: sysworkq : STACK: unused 2904 usage 1192 / 4096 (29 %); CPU: 16 %
    [00:02:15.372,222] <inf> thread_analyzer: logging : STACK: unused 264 usage 504 / 768 (65 %); CPU: 0 %
    [00:02:15.372,283] <inf> thread_analyzer: idle 00 : STACK: unused 248 usage 72 / 320 (22 %); CPU: 59 %
    [00:02:15.373,535] <inf> thread_analyzer: main : STACK: unused 7408 usage 784 / 8192 (9 %); CPU: 23 %

    [00:02:16.781,951] <inf> uart: UART RX processing
    [00:02:16.782,043] <inf> uart: -> ProcessRxByte: 0x31
    [00:02:17.261,688] <inf> uart: UART RX processing
    [00:02:17.261,779] <inf> uart: -> ProcessRxByte: 0x0D


    [00:03:06.555,358] <err> os: ***** MPU FAULT *****
    [00:03:06.555,358] <err> os: Instruction Access Violation
    [00:03:06.555,358] <err> os: r0/a1: 0x00000001 r1/a2: 0x00000003 r2/a3: 0x20009662
    [00:03:06.555,389] <err> os: r3/a4: 0x20009664 r12/ip: 0x20009662 r14/lr: 0x00000000
    [00:03:06.555,389] <err> os: xpsr: 0x21000000
    [00:03:06.555,389] <err> os: Faulting instruction address (r15/pc): 0x2000440c
    [00:03:06.555,419] <err> os: >>> ZEPHYR FATAL ERROR 0: CPU exception on CPU 0
    [00:03:06.555,419] <err> os: Current thread: 0x20001ef0 (main)
    [00:03:06.959,045] <err> os: Halting system

    This is proving to be a tricky bug to track down. Do you want to join in the fun?

    Kind regards

    Mohamed

    Creating solution HomeBeacon_dev_sb.emProject
    C:/Zypher/v1.7.0/toolchain/opt/bin/cmake.exe -GNinja -DBOARD=nrf52833dk_nrf52833 -DBOARD_DIR=C:\Zypher\v1.7.0\zephyr\boards\arm\nrf52833dk_nrf52833 -BC:\Sandbox\HomeBeacon_dev_sb\build_nrf52833dk_nrf52833_v149_tuning -SC:\Sandbox\HomeBeacon_dev_sb -DNCS_TOOLCHAIN_VERSION=1.7.0 -DDTC_OVERLAY_FILE=C:/Sandbox/HomeBeacon_dev_sb/nrf52833dk_nrf52833.overlay -DEXTRA_KCONFIG_TARGETS=menuconfig_ses -DEXTRA_KCONFIG_TARGET_COMMAND_FOR_menuconfig_ses=C:\Zypher\v1.7.0\toolchain\segger_embedded_studio/html/configure_nordic_project_menuconfig.py
    -- Application: C:/Sandbox/HomeBeacon_dev_sb
    -- Zephyr version: 2.6.99 (C:/Zypher/v1.7.0/zephyr), build: v2.6.99-ncs1
    -- Found Python3: C:/Zypher/v1.7.0/toolchain/opt/bin/python.exe (found suitable exact version "3.8.2") found components: Interpreter
    -- Found west (found suitable version "0.11.1", minimum required is "0.7.1")
    -- Board: nrf52833dk_nrf52833
    -- Cache files will be written to: C:/Zypher/v1.7.0/zephyr/.cache
    -- Found dtc: C:/Zypher/v1.7.0/toolchain/opt/bin/dtc.exe (found suitable version "1.4.7", minimum required is "1.4.6")
    -- Found toolchain: gnuarmemb (C:/Zypher/v1.7.0/toolchain/opt)
    -- Found BOARD.dts: C:/Zypher/v1.7.0/zephyr/boards/arm/nrf52833dk_nrf52833/nrf52833dk_nrf52833.dts
    -- Found devicetree overlay: C:/Sandbox/HomeBeacon_dev_sb/nrf52833dk_nrf52833.overlay
    -- Generated zephyr.dts: C:/Sandbox/HomeBeacon_dev_sb/build_nrf52833dk_nrf52833_v149_tuning/zephyr/zephyr.dts
    -- Generated devicetree_unfixed.h: C:/Sandbox/HomeBeacon_dev_sb/build_nrf52833dk_nrf52833_v149_tuning/zephyr/include/generated/devicetree_unfixed.h
    -- Generated device_extern.h: C:/Sandbox/HomeBeacon_dev_sb/build_nrf52833dk_nrf52833_v149_tuning/zephyr/include/generated/device_extern.h
    -- Including generated dts.cmake file: C:/Sandbox/HomeBeacon_dev_sb/build_nrf52833dk_nrf52833_v149_tuning/zephyr/dts.cmake
    Parsing C:/Sandbox/HomeBeacon_dev_sb/Kconfig
    Loaded configuration 'C:/Zypher/v1.7.0/zephyr/boards/arm/nrf52833dk_nrf52833/nrf52833dk_nrf52833_defconfig'
    Merged configuration 'C:/Sandbox/HomeBeacon_dev_sb/prj_debug.conf'
    -- Configuring incomplete, errors occurred!
    Including boilerplate (Zephyr base): C:/Zypher/v1.7.0/zephyr/cmake/app/boilerplate.cmake
    -- Using NCS Toolchain 1.7.0 for building. (C:/Zypher/v1.7.0/toolchain/cmake)

    warning: NEWLIB_LIBC_FLOAT_PRINTF (defined at C:/Zypher/v1.7.0/modules/lib/pelion-
    dm/zephyr\Kconfig.pal:74, lib/libc/Kconfig:89) was assigned the value 'y' but got the value 'n'.
    Check these unsatisfied dependencies: ((PELION_SOURCES && PELION_CLIENT) || NEWLIB_LIBC) (=n). See
    docs.zephyrproject.org/.../CONFIG_NEWLIB_LIBC_FLOAT_PRINTF.html and/or
    look up NEWLIB_LIBC_FLOAT_PRINTF in the menuconfig/guiconfig interface. The Application Development
    Primer, Setting Configuration Values, and Kconfig - Tips and Best Practices sections of the manual
    might be helpful too.


    warning: UART_CONSOLE (defined at drivers/console/Kconfig:47) was assigned the value 'y' but got the
    value 'n'. Check these unsatisfied dependencies: SERIAL (=n), SERIAL_HAS_DRIVER (=n). See
    docs.zephyrproject.org/.../CONFIG_UART_CONSOLE.html and/or look up
    UART_CONSOLE in the menuconfig/guiconfig interface. The Application Development Primer, Setting
    Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be helpful
    too.


    warning: I2C_0 (defined at drivers/i2c/Kconfig.esp32:15) was assigned the value 'y' but got the
    value 'n'. Check these unsatisfied dependencies: I2C_ESP32 (=n). See
    docs.zephyrproject.org/.../CONFIG_I2C_0.html and/or look up I2C_0 in the
    menuconfig/guiconfig interface. The Application Development Primer, Setting Configuration Values,
    and Kconfig - Tips and Best Practices sections of the manual might be helpful too.


    C:/Sandbox/HomeBeacon_dev_sb/prj_debug.conf:180: warning: attempt to assign the value 'y' to the undefined symbol SCHED_THREAD_USAGE

    error: Aborting due to Kconfig warnings

    CMake Error at C:/Zypher/v1.7.0/zephyr/cmake/kconfig.cmake:268 (message):
    command failed with return code: 1
    Call Stack (most recent call first):
    C:/Zypher/v1.7.0/zephyr/cmake/app/boilerplate.cmake:554 (include)
    C:/Zypher/v1.7.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:24 (include)
    C:/Zypher/v1.7.0/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:35 (include_boilerplate)
    CMakeLists.txt:34 (find_package)

    error: cmake failed
    create_nordic_project.py failed (1)

Related