I would need some help undestanding zephyr bootloader compatibility and west sign options. The issue I have is as follows:
I have an old project based on Zephyr RTOS v2.5.0
This old project also have a bootloader, and a "my_key.pem" generated with "imgtool keygen"
The bootloader for this project is generated with the option "-s bootloader/mcuboot/boot/zephyr", previously having changed the contents of the "bootloader/mcuboot/boot/zephyr/keys.c" with the result of "imgtool getpub" and "imgtool getpriv"
And in prj.conf I have the options:
CONFIG_BOOTLOADER_MCUBOOT=y
CONFIG_MCUBOOT_GENERATE_CONFIRMED_IMAGE=y
CONFIG_MCUBOOT_SIGNATURE_KEY_FILE="my_key.pem"
The bootloader is flashed on the board and a first version as well. I can generate other versions of the project and update the firmware via DFU. It works fine.
Now I need to implement a new project with BLE and Zigbee, so that I have to build a new firmware based on Nordic SDK Connect v.1.5.1, which is based on zephyr version v2.4.99-ncs2
Using the above CONFIG options, and after building, I get several hex files (app_signed.hex, app_test_update.hex, mcuboot_primary_app.hex, ...),
I have tried to flash them but no one produces an executable that the bootloader can execute.
In particular I see that all these files start at address 0x0c200 while the ones from the old project start at 0x0c000
I have also tried to generate signed hex, and bin files using the result of the compilation with
CONFIG_BOOTLOADER_MCUBOOT=n,
CONFIG_MCUBOOT_GENERATE_CONFIRMED_IMAGE=n, disabled,
These programs can be uploaded to the board and executed correctly, without bootloader.
My question is: How can I generate a valid firmware for the bootloader, with a build created from the new project.
Should you need any additional information please let me know.
Thanks in advance,
Jordi