Skip to main content
Associate II
Jan 2, 2026 6:18 AM UTC
Question

CM4 core clock limited to 64 MHz while CM7 runs at full configured frequency?

I am working on the NUCLEO-H755ZI-Q, which contains a dual-core STM32H755 (Cortex-M7 + Cortex-M4).

I configure the system clocks in CubeMX as follows:

  • SPI1/2/3 Clock MUX: 400 MHz
  • System Clock: Configured for high-speed operation
  • CM7 core frequency: Correctly matches the configured value (e.g., 200 MHz / 400 MHz depending on settings)

However, when I debug or read the CM4 core clock, I always see:

  • CM4 clock = 64 MHz
  • It does NOT increase even when I configure higher values in CubeMX. 

Regards,

Prathiksha

12 replies

AScha.3
Super User
Jan 2, 2026 9:31 AM UTC

How you "see" the 64Mhz ?

 

If you feel a post has answered your question, please click on " Best Answer ".
Associate II
Jan 5, 2026 5:18 AM UTC

These are the below functions used to verify the clock.

  • HAL_RCC_GetSysClockFreq() → returns system clock (SYSCLK) in Hz.
  • HAL_RCC_GetHCLKFreq() → AHB clock (HCLK).
  • HAL_RCC_GetPCLK1Freq() / HAL_RCC_GetPCLK2Freq() → APB clocks.
TDK
Jan 2, 2026 2:31 PM UTC

It's probably an issue with how you're running the program. If the CM7 core is doing the clock configuration, it needs to do that before the clock will be updated. Just running the CM4 side will use the default clock (64 MHz).

"If you feel a post has answered your question, please click ""Accept as Solution""."
Associate II
Jan 5, 2026 5:39 AM UTC

Yes, I’m aware that the CM7 core needs to configure the clocks for CM4. While debugging both CM7 and CM4, I ran CM4 to verify the clock because it was showing 64 MHz. I was using DMA for ADC in our project, and since DMA requires a higher frequency, I suspected a clock issue. However, the actual problem was related to DMA.

mƎALLEm
ST Technical Moderator
Jan 2, 2026 7:35 PM UTC

@Prathiksha wrote:

However, when I debug or read the CM4 core clock, I always see:

  • CM4 clock = 64 MHz

How did you check that?

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.
Associate II
Jan 5, 2026 5:19 AM UTC

These are the below functions used to verify the clock.

  • HAL_RCC_GetSysClockFreq() → returns system clock (SYSCLK) in Hz.
  • HAL_RCC_GetHCLKFreq() → AHB clock (HCLK).
  • HAL_RCC_GetPCLK1Freq() / HAL_RCC_GetPCLK2Freq() → APB clocks.
mƎALLEm
ST Technical Moderator
Jan 5, 2026 8:50 AM UTC

What API you have used to get the CM4 clock?

Please share your project so we can reproduce the behavior and understand what is going on...

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.
Associate II
Jan 5, 2026 1:53 PM UTC

I have uploaded the project file contains both CM4 and CM7. 

mƎALLEm
ST Technical Moderator
Jan 5, 2026 2:29 PM UTC

Hello and thank you for the sharing. I don't see where do you get the CM4 in the attached firmware. Could you please clarify?

 

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.