Hello, I currently have nrf9160 devices deployed running nrf connect sdk v1.3.0 that fails to reboot into the secondary image. It specifically happens when I try to send a update that was built with nrf connect version 1.4.2
From my old versions build directory built with sdk 1.3.0, I copied the contents from partitions_nrf9160dk_nrf9160.yml and made a pm_static.yml file inside my new versions project directory.
pm_static.yml
EMPTY_0:
address: 0xc000
placement:
before:
- mcuboot_pad
region: flash_primary
size: 0x4000
app:
address: 0x1c200
region: flash_primary
size: 0x6be00
mcuboot:
address: 0x0
placement:
before:
- mcuboot_primary
region: flash_primary
size: 0xc000
mcuboot_pad:
address: 0x10000
placement:
align:
start: 0x8000
before:
- mcuboot_primary_app
region: flash_primary
size: 0x200
mcuboot_primary:
address: 0x10000
orig_span: &id001
- spm
- app
- mcuboot_pad
region: flash_primary
sharers: 0x1
size: 0x78000
span: *id001
mcuboot_primary_app:
address: 0x10200
orig_span: &id002
- app
- spm
region: flash_primary
size: 0x77e00
span: *id002
mcuboot_secondary:
address: 0x88000
placement:
after:
- mcuboot_primary
align:
start: 0x1000
region: flash_primary
share_size:
- mcuboot_primary
size: 0x78000
otp:
address: 0xff8108
region: otp
size: 0x2f4
spm:
address: 0x10200
inside:
- mcuboot_primary_app
placement:
before:
- app
region: flash_primary
size: 0xc000
In my new versions (nrf connect v1.4.2) build directory partitions.yml was generated...
partitions.yml
EMPTY_0: address: 0xc000 placement: before: - mcuboot_pad region: flash_primary size: 0x4000 app: address: 0x1c200 region: flash_primary size: 0x6be00 bsdlib_sram: address: 0x20010000 placement: after: - spm_sram - start region: sram_primary size: 0x10000 mcuboot: address: 0x0 placement: before: - mcuboot_primary region: flash_primary size: 0xc000 mcuboot_pad: address: 0x10000 placement: align: start: 0x8000 before: - mcuboot_primary_app region: flash_primary size: 0x200 mcuboot_primary: address: 0x10000 orig_span: &id001 - spm - app - mcuboot_pad region: flash_primary sharers: 0x1 size: 0x78000 span: *id001 mcuboot_primary_app: address: 0x10200 orig_span: &id002 - app - spm region: flash_primary size: 0x77e00 span: *id002 mcuboot_secondary: address: 0x88000 placement: after: - mcuboot_primary align: start: 0x1000 region: flash_primary share_size: - mcuboot_primary size: 0x78000 otp: address: 0xff8108 region: otp size: 0x2f4 spm: address: 0x10200 inside: - mcuboot_primary_app placement: before: - app region: flash_primary size: 0xc000 spm_sram: address: 0x20000000 inside: - sram_secure placement: after: - start region: sram_primary size: 0x10000 sram_primary: address: 0x20020000 region: sram_primary size: 0x20000 sram_secure: address: 0x20000000 orig_span: &id003 - spm_sram region: sram_primary size: 0x10000 span: *id003
These are the logs I gathered...
*** Booting Zephyr OS build v2.3.0-rc1-ncs3 *** [00:00:00.003,143] [<inf> mcuboot: Starting bootloader[0m [00:00:00.008,819] [<inf> mcuboot: Primary image: magic=unset, swap_type=0x1, copy_done=0x3, image_ok=0x3[0m [00:00:00.018,066] [<inf> mcuboot: Boot source: none[0m [00:00:00.023,101] [<inf> mcuboot: Swap type: perm[0m [00:00:10.750,274] [<err> mcuboot: Image in the secondary slot is not valid![0m [00:00:11.081,756] [<inf> mcuboot: Bootloader chainload address offset: 0x10000[0m [00:00:11.089,599] [<inf> mcuboot: Jumping to the first image slot[0m *** Booting Zephyr OS build v2.3.0-rc1-ncs3 *** Flash regions Domain Permissions 00 02 0x00000 0x18000 Secure rwxl 03 31 0x18000 0x100000 Non-Secure rwxl Non-secure callable region 0 placed in flash region 2 with size 32. SRAM region Domain Permissions 00 07 0x00000 0x10000 Secure rwxl 08 31 0x10000 0x40000 Non-Secure rwxl Peripheral Domain Status 00 NRF_P0 Non-Secure OK 01 NRF_CLOCK Non-Secure OK 02 NRF_RTC0 Non-Secure OK 03 NRF_RTC1 Non-Secure OK 04 NRF_NVMC Non-Secure OK 05 NRF_UARTE1 Non-Secure OK 06 NRF_UARTE2 Secure SKIP 07 NRF_TWIM2 Non-Secure OK 08 NRF_SPIM3 Non-Secure OK 09 NRF_TIMER0 Non-Secure OK 10 NRF_TIMER1 Non-Secure OK 11 NRF_TIMER2 Non-Secure OK 12 NRF_SAADC Non-Secure OK 13 NRF_PWM0 Non-Secure OK 14 NRF_PWM1 Non-Secure OK 15 NRF_PWM2 Non-Secure OK 16 NRF_PWM3 Non-Secure OK 17 NRF_WDT Non-Secure OK 18 NRF_IPC Non-Secure OK 19 NRF_VMC Non-Secure OK 20 NRF_FPU Non-Secure OK 21 NRF_EGU1 Non-Secure OK 22 NRF_EGU2 Non-Secure OK 23 NRF_DPPIC Non-Secure OK 24 NRF_GPIOTE1 Non-Secure OK 25 NRF_REGULATORS Non-Secure OK SPM: NS image at 0x1c200 SPM: NS MSP at 0x2002fcf8 SPM: NS reset vector at 0x21e25 SPM: prepare to jump to Non-Secure image. *** Booting Zephyr OS build v2.3.0-rc1-ncs3 ***
It is failing at this line.
This is the new versions prj.conf
# General config CONFIG_NEWLIB_LIBC=y CONFIG_RESET_ON_FATAL_ERROR=n CONFIG_NCS_SAMPLES_DEFAULTS=y CONFIG_REBOOT=y CONFIG_ASSERT=y # Network CONFIG_NETWORKING=y CONFIG_NET_NATIVE=n CONFIG_NET_SOCKETS=y CONFIG_NET_SOCKETS_OFFLOAD=y # LTE link control CONFIG_LTE_LINK_CONTROL=y CONFIG_LTE_NETWORK_MODE_LTE_M=y CONFIG_LTE_AUTO_INIT_AND_CONNECT=n #key management CONFIG_MODEM_KEY_MGMT=y # BSD library CONFIG_BSD_LIBRARY=y CONFIG_BSD_LIBRARY_SYS_INIT=n # DK #CONFIG_DK_LIBRARY=y # Generic cloud API #CONFIG_CLOUD_API=y # nRF Cloud #CONFIG_NRF_CLOUD=y # UART 1 CONFIG_SERIAL=y CONFIG_TRUSTED_EXECUTION_NONSECURE=y CONFIG_UART_INTERRUPT_DRIVEN=y #CONFIG_UART_1_NRF_UARTE=y # FOTA CONFIG_BOOTLOADER_MCUBOOT=y CONFIG_IMG_MANAGER=y CONFIG_MCUBOOT_IMG_MANAGER=y CONFIG_IMG_ERASE_PROGRESSIVELY=y CONFIG_FLASH=y CONFIG_MPU_ALLOW_FLASH_WRITE=y # MBED TLS CONFIG_MBEDTLS=y CONFIG_MBEDTLS_SHA1_C=y # Heap and stacks # Extended memory heap size needed for encoding nRF Cloud messages to JSON CONFIG_HEAP_MEM_POOL_SIZE=8192 CONFIG_MAIN_STACK_SIZE=10240 CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048 #Disabel optimization #CONFIG_NO_OPTIMIZATIONS=y
Any help is appreciated, Thanks.