Skip to main content
Visitor II
October 24, 2025
Question

CM4 Not Responding After Jumping from CM7 Bootloader to CM7 Application (STM32H747)

  • October 24, 2025
  • 1 reply
  • 281 views

Hi everyone,

I'm encountering an issue with the STM32H747 dual-core MCU during the transition from bootloader to application. Here's a summary of the setup and observed behavior:

Setup:

  • Bootloader (CM7 core): When the BCM4 option byte is enabled, the CM4 core starts as expected.
  • Application (CM7 core): After the bootloader jumps to the CM7 application, the CM4 core stops responding.

What We have Tried :

  1. Manual CM4 Enable in Application
  • Disabled CM4 in option bytes.
  • Attempted to enable CM4 manually in the CM7 application:

                 SYSCFG->UR1 = (1 << 0); // Set BCM4 = 1

                  RCC->GCR |= (1 << 3);   // Set BOOT_C2 = 1

  • Result: System hangs. Recovery requires setting BOOT pin = 1, flash erase, and reprogramming. The issue seems to be with SYSCFG->UR1 = (1 << 0)

      2. Option Byte Update via Flash APIManual CM4 Enable in Application

            HALFLASHUnlock();

           HALFLASHOBUnlock();

            HALSYSCFGEnableCM4BOOT();

            HALFLASHOBLaunch();

            HALFLASHOBLock();

           HALFLASH_Lock();

  • Register values after execution:
    • RCC_CR: 0xf07c025
    • RCC_GCR: 0x8
    • SYSCFG_UR1: 0x10001
  • Result: No change in behavior.

   3. Core Hold/Release

  • Used HAL_PWREx_HoldCore() in bootloader and HAL_PWREx_ReleaseCore() in application.
  • Result: CM4 still does not resume execution.
  1. Is it necessary to reinitialize or restart CM4 from the CM7 application, even if it was already running during the bootloader?
  2. Could the CM7 application be overwriting shared memory or stack used by CM4, causing it to crash?
  3. What is the recommended method to preserve CM4 execution across a jump from bootloader to application?
  4. Are there any known errata or limitations related to dual-core coordination during bootloader transitions on STM32H747?

Any guidance, working examples, or insights from those who’ve implemented dual-core bootloaders on STM32H747 would be greatly appreciated!

Regards,  

Rahul

    This topic has been closed for replies.

    1 reply

    Technical Moderator
    November 14, 2025

    Hello @RahulPatel 

    Please could you specify which version of bootloader you are using? 

    Visitor II
    November 14, 2025

    Hi @Saket_Om,

    We are not using any ST-provided bootloader. Instead, we created a new CM7 project that acts as a bootloader. It’s essentially a CM7 application whose main function is to jump to another CM7 application.

    Regards, Rahul

    Technical Moderator
    November 25, 2025

    Hello @RahulPatel 

    Please refer to the Integration guide for the X-CUBE-SBSFU STM32Cube Expansion Package.

    In the integration guide for STM32H7 dual-core products (Section 3.3), it is stated that the CM4 boot must be disabled while SBSFU is running on CM7, and the CM7 application can trigger the CM4 boot after authentication and integrity checks are completed.

    Saket_Om_0-1764065785841.png