How "Use sysbuild" option affects on building hex/elf files

Hi everybody
I'm working on XIAO BLE Sense board based on nRF52840.
I'm using nRF Connect SDK 2.5.0. If I select any existing examples like as Blinky, Mesh Light or etc. then build it with default configurations, after flashing it to the board, it won't work!
But if I select "Use sysbuild" option in build configuration settings, after building and flashing, it will work properly.
While as I remember of "nRF Connect SDK Fundamentals" course in lesson 1 "Use sysbuild" has shown as not selected.
Even I tested flashing the created hex/elf files (zephyr.hex/zephyr.elf) separately by Segger J-Flash programmer for two states, but result was as I mentioned.
Selecting "Use sysbuild" also creates an extra "merged.hex" file that it worked for me, too.

Please, tell about this option.

Best Regards
Mehdi Sadeghian

Parents
  • I can try to verify this as I have a XIAO BLE board on my desk. But I was using Arduino IDE to experiment with it. How are you using this and flashing this with VSCode? Did you connect it to the external debugger?

  • Yes, I'm using J-Link Programmer. SWD connection pads are available under the board.
    Also, create build configuration based on xiao_ble_sense board.

  • Comparing the map files of the build with and without sysbuild I can see that the memory partition for the sysbuild is very different. 

    I guess that XIAO's memory partition is done in the way that it assumes sysbuild configuration. 

    If you allow me to guess further, I think it has to do something with the xiao_ble_sense_defconfig setting

    # Build UF2 by default, supported by the Adafruit nRF52 Bootloader
    CONFIG_BUILD_OUTPUT_UF2=y
    CONFIG_USE_DT_CODE_PARTITION=y

    You might need to contact XIAO support to understand to get more detail understanding on this.

  • Thanks a lot because of your guide and support.
    I could solve my problem by another way.
    Now, I'm spending "Bluetooth Low Energy Fundamentals" course. Therefore I need to do its exercises by suggested boards. Since the suggested boards aren't available in my country and only XIAO BLE Sense is available, so I'm forced to continue with it anyway.
    So, I selected nrf52840dk_nrf52840 board (instead of xiao_ble_sense board) and made an overlay file of its devicetree file. Then I modified its hardware configurations base on xiao_ble_sense board. After building and flashing the project I could see that it's working properly without needing to enabling "Use sysbuild" option. And I'm ready to resume the course.Laughing

    Thanks again
    Mehdi Sadeghian

Reply
  • Thanks a lot because of your guide and support.
    I could solve my problem by another way.
    Now, I'm spending "Bluetooth Low Energy Fundamentals" course. Therefore I need to do its exercises by suggested boards. Since the suggested boards aren't available in my country and only XIAO BLE Sense is available, so I'm forced to continue with it anyway.
    So, I selected nrf52840dk_nrf52840 board (instead of xiao_ble_sense board) and made an overlay file of its devicetree file. Then I modified its hardware configurations base on xiao_ble_sense board. After building and flashing the project I could see that it's working properly without needing to enabling "Use sysbuild" option. And I'm ready to resume the course.Laughing

    Thanks again
    Mehdi Sadeghian

Children
Related