Associate III
April 6, 2025
Question
CPU2 cannot initialize when jumping from Boot to App
- April 6, 2025
- 2 replies
- 513 views
Hi,
Background
Working on STM32WB55.
Flash size is 1MByte.
Attached .ld file describes: Boot, Bank 0 (App1), Bank 1 (App2) and DB sections.
Boot and App linker files (.ld) are quite similar from memory management aspect.
App .ld file
/* Specify the memory areas */
MEMORY
{
FLASH_BOOT (rx) : ORIGIN = _BOOT_START, LENGTH = _BOOT_SIZE /* 32KB for BOOT End address: 0x08007FFF */
FLASH_BANK_0 (rx) : ORIGIN = _BANK_0_START, LENGTH = _BANK_0_SIZE /* 250KB for Bank 0 (Factory version) End address: 0x0805F7FF */
FLASH_BANK_1 (rx) : ORIGIN = _BANK_1_START, LENGTH = _BANK_1_SIZE /* 250KB for Bank 1 (New version) End address: 0x080B6FFF */
FLASH_DB_CFG (rx) : ORIGIN = _DB_CFG_START, LENGTH = _DB_CFG_SIZE /* 16KB for DB (Configuration) End address: 0x080BAFFF*/
RAM (xrw) : ORIGIN = 0x20000004, LENGTH = 0x2FFFC
RAM_SHARED (xrw) : ORIGIN = 0x20030000, LENGTH = 10K
}Scenario
Jump from Boot to App (Bank 0)
Problem
- When App size of Bank 0 and Bank 1 is lower than 250KByte --> Working well (Jump from Boot to App (Bank 0))
- When App size of Bank 0 and Bank 1 is bigger than 250KByte --> Not Working well --> CPU2 cannot initialize when jumping from Boot to App. [I have WDG in this case, so after MCU is reset by WDG CPU2 succeeds to initialize. The problem occurs in Power-up]
** Can somebody help to understand why is that (CPU2 cannot initialize when jumping from Boot to App)?
Thanks,
Aviv
