Azure IoT Hub Sample on Thingy91

Is there any guides or easy way to make the Azure IoT Sample work with the Thingy91 or e.g. Icarus IoT v2?

Parents Reply
  • Hello, 

    Øyvind said:

    Looking at the log provided it does state:

    C:/Users/neshe/nRF/azure_iot_hub/src/main.c:202: undefined reference to `boot_write_img_confirmed', and I'm able to reproduce. Will need to discuss internally.

    In order for boot_write_img_confirmed() to be compiled in, you need to enable CONFIG_MCUBOOT_IMG_MANAGER=y

    Since the Thingy:91 is not officially supported in this sample, that needs to be done manually.

    In general, you need to ensure that required options are enabled when adding support for a new board to an application. In this case, the following are needed from nrf9151dk_nrf9151_ns, i.e:

    CONFIG_BOOTLOADER_MCUBOOT=y
    CONFIG_AZURE_FOTA=y
    CONFIG_FOTA_DOWNLOAD=y
    CONFIG_DFU_TARGET=y
    CONFIG_MCUBOOT_IMG_MANAGER=y
    CONFIG_IMG_MANAGER=y
    CONFIG_STREAM_FLASH=y
    CONFIG_FLASH_MAP=y
    CONFIG_FLASH=y
    CONFIG_IMG_ERASE_PROGRESSIVELY=y
    CONFIG_DOWNLOAD_CLIENT=y
    CONFIG_DOWNLOAD_CLIENT_STACK_SIZE=4096

Children
  • Was able to build for the Thingy91, but didn't work. No terminal output either, so I don't see whats the issue.

    Was not able to build for the Icarus IoT board. Any where I can get more info on how to get these to work?

    Edit: I see now you have including options for the nrf9151dk_nrd9151_ns. I'm trying to get the nrf9160 (Thingy91 and Icarus IoT) to work. Is there any difference on options to include?

  • Neso said:
    Edit: I see now you have including options for the nrf9151dk_nrd9151_ns. I'm trying to get the nrf9160 (Thingy91 and Icarus IoT) to work. Is there any difference on options to include?

    These are settings that are the same on all boards. I tested on my side without issues, expect for the need of an external flash. 

  • So I was finally able to build for the Icarus IoT board. Still fails on connect, but do to faulty certificate. Tried rebuilding, but it suddenly fails all the time even if no changes have been made (Reverted from Git) How can that be? About to abandon nrf at this point. Help seriously needed..

    Here's my latest fail.

    [184/189] Linking C executable zephyr\zephyr_pre0.elf
    FAILED: zephyr/zephyr_pre0.elf zephyr/zephyr_pre0.map C:/ncs/Nrf_Projects/azure_iot_hub/Supremebuild/mcuboot/zephyr/zephyr_pre0.map 
    cmd.exe /C "cd . && C:\ncs\toolchains\b620d30767\opt\zephyr-sdk\arm-zephyr-eabi\bin\arm-zephyr-eabi-gcc.exe -Os -DNDEBUG -gdwarf-4 -gdwarf-4 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  -T  zephyr/linker_zephyr_pre0.cmd  -Wl,-Map=C:/ncs/Nrf_Projects/azure_iot_hub/Supremebuild/mcuboot/zephyr/zephyr_pre0.map  -Wl,--whole-archive  app/libapp.a  zephyr/libzephyr.a  zephyr/arch/common/libarch__common.a  zephyr/arch/arch/arm/core/libarch__arm__core.a  zephyr/arch/arch/arm/core/cortex_m/libarch__arm__core__cortex_m.a  zephyr/arch/arch/arm/core/cortex_m/cmse/libarch__arm__core__cortex_m__cmse.a  zephyr/lib/libc/minimal/liblib__libc__minimal.a  zephyr/lib/libc/common/liblib__libc__common.a  zephyr/soc/soc/nrf9160/libsoc__nordic.a  zephyr/boards/actinius/icarus/actinius_common/libboards__actinius__common.a  zephyr/drivers/clock_control/libdrivers__clock_control.a  zephyr/drivers/console/libdrivers__console.a  zephyr/drivers/flash/libdrivers__flash.a  zephyr/drivers/gpio/libdrivers__gpio.a  zephyr/drivers/pinctrl/libdrivers__pinctrl.a  zephyr/drivers/serial/libdrivers__serial.a  zephyr/drivers/timer/libdrivers__timer.a  modules/nrf/lib/fprotect/lib..__nrf__lib__fprotect.a  modules/nrf/drivers/hw_cc3xx/lib..__nrf__drivers__hw_cc3xx.a  modules/mcuboot/boot/bootutil/zephyr/libmcuboot_util.a  modules/hal_nordic/nrfx/libmodules__hal_nordic__nrfx.a  -Wl,--no-whole-archive  zephyr/kernel/libkernel.a  -LC:/ncs/Nrf_Projects/azure_iot_hub/Supremebuild/mcuboot/zephyr  zephyr/arch/common/libisr_tables.a  -mcpu=cortex-m33  -mthumb  -mabi=aapcs  -mfpu=fpv5-sp-d16  -mfloat-abi=hard  -mfp16-format=ieee  -fuse-ld=bfd  -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  -Wl,-no-pie  C:/ncs/v2.9.0/nrfxlib/crypto/nrf_cc310_platform/lib/cortex-m33/hard-float/no-interrupts/libnrf_cc310_platform_0.9.19.a  C:/ncs/v2.9.0/nrfxlib/crypto/nrf_cc310_bl/lib/cortex-m33/hard-float/no-interrupts/libnrf_cc310_bl_0.9.12.a -L"c:/ncs/toolchains/b620d30767/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/thumb/v8-m.main+fp/hard" -lc -lgcc && cmd.exe /C "cd /D C:\ncs\Nrf_Projects\azure_iot_hub\Supremebuild\mcuboot\zephyr && C:\ncs\toolchains\b620d30767\opt\bin\cmake.exe -E true""
    c:/ncs/toolchains/b620d30767/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe: zephyr/drivers/flash/libdrivers__flash.a(spi_nor.c.obj):(.rodata.spi_nor_0_config+0x0): undefined reference to `__device_dts_ord_117'
    collect2.exe: error: ld returned 1 exit status
    ninja: build stopped: subcommand failed.
    [15/20] Generating ../dfu_application.zip
    FAILED: _sysbuild/sysbuild/images/bootloader/mcuboot-prefix/src/mcuboot-stamp/mcuboot-build C:/ncs/Nrf_Projects/azure_iot_hub/Supremebuild/_sysbuild/sysbuild/images/bootloader/mcuboot-prefix/src/mcuboot-stamp/mcuboot-build 
    cmd.exe /C "cd /D C:\ncs\Nrf_Projects\azure_iot_hub\Supremebuild\mcuboot && C:\ncs\toolchains\b620d30767\opt\bin\cmake.exe --build ."
    ninja: build stopped: subcommand failed.
    FATAL ERROR: command exited with status 1: 'C:\ncs\toolchains\b620d30767\opt\bin\cmake.EXE' --build C:/ncs/Nrf_Projects/azure_iot_hub/Supremebuild
    
     *  The terminal process terminated with exit code: 1. 
     *  Terminal will be reused by tasks, press any key to close it. 
    

Related