Migrating from SDK 2.0.0 to 2.1.0, error

Hello,

I'm getting the following error during migration from 2.0.0 to 2.1.0:

FAILED: zephyr/drivers/bluetooth/CMakeFiles/drivers__bluetooth.dir/hci/rpmsg.c.obj
C:\ncs\toolchains\v2.1.0\opt\zephyr-sdk\arm-zephyr-eabi\bin\arm-zephyr-eabi-gcc.exe -DKERNEL -DNRF5340_XXAA_APPLICATION -DNRF_SKIP_FICR_NS_COPY_TO_RAM -DUSE_PARTITION_MANAGER=1 -DZCBOR_ASSERT -D_FORTIFY_SOURCE=2 -D__LINUX_ERRNO_EXTENSIONS__ -D__PROGRAM_START -D__ZEPHYR_SUPERVISOR__ -D__ZEPHYR__=1 -IC:/ncs/v2.1.0/zephyr/subsys/bluetooth -IC:/ncs/v2.1.0/zephyr/include/zephyr -IC:/ncs/v2.1.0/zephyr/include -Izephyr/include/generated -IC:/ncs/v2.1.0/zephyr/soc/arm/nordic_nrf/nrf53 -IC:/ncs/v2.1.0/zephyr/lib/libc/newlib/include -IC:/ncs/v2.1.0/zephyr/soc/arm/nordic_nrf/common/. -IC:/ncs/v2.1.0/bootloader/mcuboot/boot/bootutil/include -IC:/ncs/v2.1.0/bootloader/mcuboot/boot/zephyr/include -IC:/ncs/v2.1.0/zephyr/subsys/settings/include -IC:/ncs/v2.1.0/nrf/include -IC:/ncs/v2.1.0/modules/hal/cmsis/CMSIS/Core/Include -IC:/ncs/v2.1.0/modules/hal/nordic/nrfx -IC:/ncs/v2.1.0/modules/hal/nordic/nrfx/drivers/include -IC:/ncs/v2.1.0/modules/hal/nordic/nrfx/mdk -IC:/ncs/v2.1.0/zephyr/modules/hal_nordic/nrfx/. -Imodules/libmetal/libmetal/lib/include -IC:/ncs/v2.1.0/modules/lib/open-amp/open-amp/lib/include -IC:/ncs/v2.1.0/modules/debug/segger/SEGGER -IC:/ncs/v2.1.0/modules/debug/segger/Config -IC:/ncs/v2.1.0/zephyr/modules/segger/. -IC:/ncs/v2.1.0/modules/crypto/tinycrypt/lib/include -IC:/ncs/v2.1.0/modules/lib/zcbor/include -IC:/ncs/v2.1.0/nrfxlib/softdevice_controller/include -isystem C:/ncs/v2.1.0/nrfxlib/crypto/nrf_cc312_platform/include -Og -imacros C:/xxxxxxxxrepopathxxxxxxxx/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -gdwarf-4 -fdiagnostics-color=always -mcpu=cortex-m33 -mthumb -mabi=aapcs -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mfp16-format=ieee --sysroot=C:/ncs/toolchains/v2.1.0/opt/zephyr-sdk/arm-zephyr-eabi/arm-zephyr-eabi -imacros C:/ncs/v2.1.0/zephyr/include/zephyr/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-reorder-functions -fno-defer-pop -fmacro-prefix-map=C:/repo/firmware-rtos=CMAKE_SOURCE_DIR -fmacro-prefix-map=C:/ncs/v2.1.0/zephyr=ZEPHYR_BASE -fmacro-prefix-map=C:/ncs/v2.1.0=WEST_TOPDIR -ffunction-sections -fdata-sections -specs=nano.specs -std=c99 -MD -MT zephyr/drivers/bluetooth/CMakeFiles/drivers__bluetooth.dir/hci/rpmsg.c.obj -MF zephyr\drivers\bluetooth\CMakeFiles\drivers__bluetooth.dir\hci\rpmsg.c.obj.d -o zephyr/drivers/bluetooth/CMakeFiles/drivers__bluetooth.dir/hci/rpmsg.c.obj -c C:/ncs/v2.1.0/zephyr/drivers/bluetooth/hci/rpmsg.c
In file included from C:/ncs/v2.1.0/zephyr/include/zephyr/toolchain/gcc.h:88,
                 from C:/ncs/v2.1.0/zephyr/include/zephyr/toolchain.h:50,
                 from C:/ncs/v2.1.0/zephyr/include/zephyr/init.h:10,
                 from C:/ncs/v2.1.0/zephyr/drivers/bluetooth/hci/rpmsg.c:7:
C:/ncs/v2.1.0/zephyr/drivers/bluetooth/hci/rpmsg.c: In function 'bt_rpmsg_open':
C:/ncs/v2.1.0/zephyr/include/zephyr/device.h:96:39: error: '__device_dts_ord_DT_CHOSEN_zephyr_bt_hci_rpmsg_ipc_ORD' undeclared (first use in this function)
   96 | #define DEVICE_NAME_GET(name) _CONCAT(__device_, name)
      |                                       ^~~~~~~~~
C:/ncs/v2.1.0/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.1.0/zephyr/include/zephyr/device.h:96:31: note: in expansion of macro '_CONCAT'
   96 | #define DEVICE_NAME_GET(name) _CONCAT(__device_, name)
      |                               ^~~~~~~
C:/ncs/v2.1.0/zephyr/include/zephyr/device.h:276:37: note: in expansion of macro 'DEVICE_NAME_GET'
  276 | #define DEVICE_DT_NAME_GET(node_id) DEVICE_NAME_GET(Z_DEVICE_DT_DEV_NAME(node_id))
      |                                     ^~~~~~~~~~~~~~~
C:/ncs/v2.1.0/zephyr/include/zephyr/device.h:296:34: note: in expansion of macro 'DEVICE_DT_NAME_GET'
  296 | #define DEVICE_DT_GET(node_id) (&DEVICE_DT_NAME_GET(node_id))
      |                                  ^~~~~~~~~~~~~~~~~~
C:/ncs/v2.1.0/zephyr/drivers/bluetooth/hci/rpmsg.c:287:3: note: in expansion of macro 'DEVICE_DT_GET'
  287 |   DEVICE_DT_GET(DT_CHOSEN(zephyr_bt_hci_rpmsg_ipc));
      |   ^~~~~~~~~~~~~
C:/ncs/v2.1.0/zephyr/include/zephyr/device.h:96:39: note: each undeclared identifier is reported only once for each function it appears in
   96 | #define DEVICE_NAME_GET(name) _CONCAT(__device_, name)
      |                                       ^~~~~~~~~
C:/ncs/v2.1.0/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.1.0/zephyr/include/zephyr/device.h:96:31: note: in expansion of macro '_CONCAT'
   96 | #define DEVICE_NAME_GET(name) _CONCAT(__device_, name)
      |                               ^~~~~~~
C:/ncs/v2.1.0/zephyr/include/zephyr/device.h:276:37: note: in expansion of macro 'DEVICE_NAME_GET'
  276 | #define DEVICE_DT_NAME_GET(node_id) DEVICE_NAME_GET(Z_DEVICE_DT_DEV_NAME(node_id))
      |                                     ^~~~~~~~~~~~~~~
C:/ncs/v2.1.0/zephyr/include/zephyr/device.h:296:34: note: in expansion of macro 'DEVICE_DT_NAME_GET'
  296 | #define DEVICE_DT_GET(node_id) (&DEVICE_DT_NAME_GET(node_id))
      |                                  ^~~~~~~~~~~~~~~~~~
C:/ncs/v2.1.0/zephyr/drivers/bluetooth/hci/rpmsg.c:287:3: note: in expansion of macro 'DEVICE_DT_GET'
  287 |   DEVICE_DT_GET(DT_CHOSEN(zephyr_bt_hci_rpmsg_ipc));
      |   ^~~~~~~~~~~~~
[164/379] Linking C static library app\libapp.a
ninja: build stopped: subcommand failed.

Parents
  • Hi,

    Based on the error you are getting it seems like the issue might be related to this commit. Are you using a custom board or the nRF5340 DK? If you are using a custom board, make sure to add zephyr,bt-hci-rpmsg-ipc = &ipc0; to chosen as is done in the dts files in the commit. Did you remove the build folder completely before building after migrating? Devicetree changes are often not applied even if you do a pristine build, so you will have to delete the build folder completely to make sure the changes get applied.

    Best regards,

    Marte

Reply
  • Hi,

    Based on the error you are getting it seems like the issue might be related to this commit. Are you using a custom board or the nRF5340 DK? If you are using a custom board, make sure to add zephyr,bt-hci-rpmsg-ipc = &ipc0; to chosen as is done in the dts files in the commit. Did you remove the build folder completely before building after migrating? Devicetree changes are often not applied even if you do a pristine build, so you will have to delete the build folder completely to make sure the changes get applied.

    Best regards,

    Marte

Children
No Data
Related