hex files no longer generated after upgrading SDK versions

In the process of upgrading from SDKs 2.x to 3.x I either broke something or missed a step as the build process no longer produces a HEX file I can use for programming.  My old, working build log ended with

[374/383] Linking C executable zephyr\zephyr.elf
Memory region         Used Size  Region Size  %age Used
           FLASH:      200748 B     245248 B     81.86%
             RAM:       57920 B        64 KB     88.38%
        IDT_LIST:          0 GB        32 KB      0.00%
Generating files from C:/<REDACTED>/zephyr/zephyr.elf for board: <REDACTED>
[374/383] Generating zephyr/mcuboot_primary.hex
[374/383] Generating zephyr/mcuboot_primary_app.hex
[375/383] Completed 'mcuboot_subimage'
[377/383] Generating ../../zephyr/app_signed.hex
[377/383] Generating ../../zephyr/app_update.bin
[378/383] Generating ../../zephyr/app_signed.hex
image.py: sign the payload
[379/383] Generating ../../zephyr/app_update.bin
image.py: sign the payload
[379/383] Generating ../../zephyr/app_test_update.hex
[379/383] Generating ../../zephyr/dfu_application.zip
[380/383] Generating ../../zephyr/dfu_application.zip
[381/383] Generating ../../zephyr/app_test_update.hex
image.py: sign the payload
[381/383] Generating ../../zephyr/app_moved_test_update.hex
[382/383] Generating zephyr/merged.hex
[383/383] Generating zephyr/merged.hex
 *  Terminal will be reused by tasks, press any key to close it.

but my new one ends with

[384/384] Linking C executable zephyr\zephyr.elf
Memory region         Used Size  Region Size  %age Used
           FLASH:      187680 B       512 KB     35.80%
             RAM:       55792 B        64 KB     85.13%
        IDT_LIST:          0 GB        32 KB      0.00%
Generating files from D:/<REDACTED>/zephyr/zephyr.elf for board: <REDACTED>
[6/8] No install step for <REDACTED>
[7/8] Completed <REDACTED>
[8/8] Completed <REDACTED>
 *  Terminal will be reused by tasks, press any key to close it.

To be clear, this is not just that output locations have moved now that I'm using sysbuild (as the AI tool suggests).  There are _NO_ hex files anywhere in the project directory after the build completes.

How do I repair this for a 3.2.3 SDK/toolchain?

Parents Reply Children
  • Amanda,

    The first link above indicates that there should be several .hex and .bin files generated as part of the build process.  Doing an exhaustive, recursive search in the project directory (including the build subdirectory) reveals that there are no files with a .hex or .bin extension on disk even though there were no errors during the build process.

    Using the older SDK I would have

    <project dir>\<build dir>\mcuboot\zephyr\zephyr.hex
    <project dir>\<build dir>\zephyr\app_moved_test_update.hex
    <project dir>\<build dir>\zephyr\app_signed.hex
    <project dir>\<build dir>\zephyr\app_test_update.hex
    <project dir>\<build dir>\zephyr\mcuboot_primary.hex
    <project dir>\<build dir>\zephyr\mcuboot_primary_app.hex
    <project dir>\<build dir>\zephyr\merged.hex
    <project dir>\<build dir>\zephyr\zephyr.hex
    <project dir>\<build dir>\mcuboot\zephyr\zephyr.bin
    <project dir>\<build dir>\zephyr\app_to_sign.bin
    <project dir>\<build dir>\zephyr\app_update.bin
    <project dir>\<build dir>\zephyr\zephyr.bin

  • Could you check the build/<your_application_name>/zephyr directory?

  • Currently there is no "build" directory as I am trying to build against multiple targets so I specified unique names in the configurations.

    The contents of the zephyr directory inside the project directory inside the build directory are below.  There are .elf files but no .hex or .bin files.

     Directory of <PROJECT_DIR>\<BUILD_DIR>\<PROJECT_NAME>\zephyr
    
    03/12/2026  02:14 PM    <DIR>          .
    03/12/2026  02:13 PM    <DIR>          ..
    03/12/2026  02:13 PM           139,712 .cmake.dotconfig.checksum
    03/12/2026  02:13 PM            73,366 .config
    03/12/2026  02:12 PM               263 .config.sysbuild
    03/12/2026  02:13 PM    <DIR>          arch
    03/12/2026  02:13 PM    <DIR>          boards
    03/12/2026  02:13 PM    <DIR>          cmake
    03/12/2026  02:13 PM    <DIR>          CMakeFiles
    03/12/2026  02:13 PM            11,095 cmake_install.cmake
    03/12/2026  02:13 PM    <DIR>          drivers
    03/12/2026  02:13 PM           873,557 edt.pickle
    03/12/2026  02:13 PM           107,034 edt.pickle.cmake
    03/12/2026  02:13 PM           107,034 edt.pickle.cmake.new
    03/12/2026  02:13 PM    <DIR>          include
    03/12/2026  02:14 PM             3,536 isr_tables.c
    03/12/2026  02:14 PM                13 isr_tables_swi.ld
    03/12/2026  02:14 PM                13 isr_tables_vt.ld
    03/12/2026  02:13 PM    <DIR>          kconfig
    03/12/2026  02:14 PM    <DIR>          kernel
    03/12/2026  02:13 PM    <DIR>          lib
    03/12/2026  02:14 PM           738,096 libzephyr.a
    03/12/2026  02:14 PM            28,037 linker.cmd
    03/12/2026  02:14 PM             6,039 linker.cmd.dep
    03/12/2026  02:13 PM            28,047 linker_zephyr_pre0.cmd
    03/12/2026  02:13 PM             6,051 linker_zephyr_pre0.cmd.dep
    03/12/2026  02:13 PM    <DIR>          misc
    03/12/2026  02:13 PM             1,107 runners.yaml
    03/12/2026  02:13 PM             5,659 snippets_generated.cmake
    03/12/2026  02:13 PM    <DIR>          soc
    03/12/2026  02:13 PM    <DIR>          subsys
    03/12/2026  02:13 PM            12,913 syscall_weakdefs_llext.c
    03/12/2026  02:13 PM            41,761 zephyr.dts
    03/12/2026  02:13 PM             1,853 zephyr.dts.d
    03/12/2026  02:13 PM            18,236 zephyr.dts.pre
    03/12/2026  02:14 PM         3,782,196 zephyr.elf
    03/12/2026  02:14 PM         1,156,896 zephyr.map
    03/12/2026  02:14 PM             6,205 zephyr.stat
    03/12/2026  02:14 PM         1,156,896 zephyr_final.map
    03/12/2026  02:14 PM         3,783,052 zephyr_pre0.elf
    03/12/2026  02:14 PM         1,158,042 zephyr_pre0.map
                  27 File(s)     13,246,709 bytes
                  14 Dir(s)  1,684,245,233,664 bytes free

    It seems the final step of converting .elf files into .hex files is broken or missing, and I'm not sure how to fix it.  Everything I've found online suggests that it should happen automatically, and yet...

Related