Flashing an application using the Actinius I/O Serial Programmer

Hi. I'm trying to flash the Cell Fund Lesson 4, Exercise 1 app – Reading buttons and controlling LEDs over MQTT, to an Icarus IoT Board v2 using the Actinius I/O Serial Programmer via usb.

I'm using SDK v2.8.0 and have flashed this successfully to the Thingy91.

I tried clean builds, and also tried including the following to prj.conf for the Icarus IoT Board v2 build with board target actinius_icarus/nrf9160/ns

CONFIG_BOOTLOADER_MCUBOOT=y
CONFIG_BUILD_OUTPUT_BIN=y
App builds fine, but I can't find the app_update.bin file. (or zephyr.signed.bin) and trying to flash any other *.bin file from the <path>MQTT_broker\IcarusBuild\MQTT_broker\zephyr folder gives an "Upload failed Firmware is not a valid device image." message.
What am I doing wrong?
Parents
  • Hi,

    Do you see the same behavior when using any older NCS version?
    You could try the same exercise for NCS v2.4.0-v2.6.2 and for NCS v2.2.0-v2.3.0.

    How are Thingy91 and Icarus IoT board related in your case regarding existence of update files?

    Best regards,
    Dejan

  • Haven't tried older versions. What do you mean by update files?
    I see that my nrf9160 and icarus builds are missing the mcuboot folder completely. Trying to figure that out at the moment.

  • Hi,

    Can you describe how you built for Thing91 and how for Icarus IoT board?

    Can you show your build commands for both boards?

    Have you verified proper functionality of your Actinius I/O Serial Programmer?

    Best regards,
    Dejan

  • Proper functionality verified. I'm able to flash to the Icarus IoT.

    Nothing special about any of the builds. Add build configuration - Select board, and build configuration.

    west build --build-dir path/nRF/SMS_Notifier/Icarus_build path/nRF/SMS_Notifier --pristine --board actinius_icarus/nrf9160/ns -- -DNCS_TOOLCHAIN_VERSION=NONE

    west build --build-dir path/nRF/SMS_Notifier/Thingy91_build path/nRF/SMS_Notifier --pristine --board thingy91/nrf9160/ns -- -DNCS_TOOLCHAIN_VERSION=NONE

    I've tried with different applications too. Same result. I'm feeling dumb as a brick here, and probably is by missing something basic. I'm new to Nordic environment. Trying to learn to see if it has potential for our project.

  • Hi,

    Since you are using NCS v2.8.0, sysbuild is included in your build. There is a change related to MCUboot from previous NCS versions. If you do not already have it, you should create sysbuild.conf in your project root directory and add the line SB_CONFIG_BOOTLOADER_MCUBOOT=y there. You can get more information about this in Sample with MCUboot.

    Best regards,
    Dejan

  • Thank you for looking into this. I've seen CONFIG_BOOTLOADER_MCUBOOT=y referenced many places, but not CB_CONFIG_BOOTLOADER_MCUBOOT=y. Anyways. Got these errors after trying a new build with sysbuild.conf in my root, and the line SB_CONFIG_BOOTLOADER_MCUBOOT=y

    [{
    "resource": "/cmake/modules/sysbuild_extensions.cmake",
    "owner": "nrf-connect",
    "severity": 8,
    "message": "CMake Error at cmake/modules/sysbuild_extensions.cmake:514 (message):",
    "source": "cmake",
    "startLineNumber": 514,
    "startColumn": 1,
    "endLineNumber": 514,
    "endColumn": 2147483647
    },{
    "resource": "/c:/ncs/v2.8.0/zephyr/cmake/modules/extensions.cmake",
    "owner": "nrf-connect",
    "severity": 8,
    "message": "CMake Error at C:/ncs/v2.8.0/zephyr/cmake/modules/extensions.cmake:2842 (message):",
    "source": "cmake",
    "startLineNumber": 2842,
    "startColumn": 1,
    "endLineNumber": 2842,
    "endColumn": 2147483647
    }]

    -- Configuring incomplete, errors occurred!
    See also "path/nRF/SMS_Notifier/I_IoT_build/CMakeFiles/CMakeOutput.log".
    FATAL ERROR: command exited with status 1: 'C:\ncs\toolchains\2d382dcd92\opt\bin\cmake.EXE' -DWEST_PYTHON=C:/ncs/toolchains/2d382dcd92/opt/bin/python.exe '-Bpath\nRF\SMS_Notifier\I_IoT_build' -GNinja -DBOARD=actinius_icarus/nrf9160/ns -DNCS_TOOLCHAIN_VERSION=NONE '-SC:\ncs\v2.8.0\zephyr\share\sysbuild' '-DAPP_DIR:PATH=path\nRF\SMS_Notifier'

  • Hi,

    Do you still have CONFIG_BOOTLOADER_MCUBOOT=y  in your project configuration?

    Neso said:
    Thank you for looking into this. I've seen CONFIG_BOOTLOADER_MCUBOOT=y referenced many places, but not CB_CONFIG_BOOTLOADER_MCUBOOT=y.

    Please make sure that there is no typo. Correct configuration option is SB_CONFIG_BOOTLOADER_MCUBOOT.

    Best regards,
    Dejan

Reply
  • Hi,

    Do you still have CONFIG_BOOTLOADER_MCUBOOT=y  in your project configuration?

    Neso said:
    Thank you for looking into this. I've seen CONFIG_BOOTLOADER_MCUBOOT=y referenced many places, but not CB_CONFIG_BOOTLOADER_MCUBOOT=y.

    Please make sure that there is no typo. Correct configuration option is SB_CONFIG_BOOTLOADER_MCUBOOT.

    Best regards,
    Dejan

Children
  • Yes, I tried including CB_CONFIG_BOOTLOADER_MCUBOOT=y in sysbuild.conf. Build fails.
    Tried including it in an new app and build with same result.
    Also tried building for the circuitdojo_feather/nrf9160/ns, but all builds fail.

    Errors after last try

    [{
    "resource": "/cmake/modules/sysbuild_extensions.cmake",
    "owner": "nrf-connect",
    "severity": 8,
    "message": "CMake Error at cmake/modules/sysbuild_extensions.cmake:514 (message):",
    "source": "cmake",
    "startLineNumber": 514,
    "startColumn": 1,
    "endLineNumber": 514,
    "endColumn": 2147483647
    },{
    "resource": "/c:/ncs/v2.8.0/zephyr/cmake/modules/extensions.cmake",
    "owner": "nrf-connect",
    "severity": 8,
    "message": "CMake Error at C:/ncs/v2.8.0/zephyr/cmake/modules/extensions.cmake:2842 (message):",
    "source": "cmake",
    "startLineNumber": 2842,
    "startColumn": 1,
    "endLineNumber": 2842,
    "endColumn": 2147483647
    },{
    "resource": "/c:/path/path/nRF/Blinky/AI_build",
    "owner": "Kconfig no context",
    "severity": 4,
    "message": "Kconfig Language Server cannot start for build 'AI_build'. Try rebuilding or do the pristine build to fix this issue.",
    "startLineNumber": 1,
    "startColumn": 1,
    "endLineNumber": 1,
    "endColumn": 1
    }]

    I have tried rebuild and Pristine build.

  • Hi,

    Have you tried to remove build folder before rebuilding?

    Best regards,
    Dejan

  • Yes,and as I said, I also tried building new applications from scratch. All clean builds.

  • Hi,

    To summarize, when you had CONFIG_BOOTLOADER_MCUBOOT=y in your prj.conf, you were able to build and flash the project to your board but you did not have files neccesary for updating the application. When you removed CONFIG_BOOTLOADER_MCUBOOT=y from your project configuration and added SB_CONFIG_BOOTLOADER_MCUBOOT=y in the sysbuild.conf of your project's root, you are not able to build the project anymore. Is this correct? If this is correct, can you provide a full build log including your build command?

    Best regards,
    Dejan

Related