cancel
Showing results for 
Search instead for 
Did you mean: 

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

Prathiksha
Associate II

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 12
AScha.3
Super User

How you "see" the 64Mhz ?

 

If you feel a post has answered your question, please click "Accept as Solution".
TDK
Super User

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".
mƎALLEm
ST Employee

@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 on "Accept as Solution" on the reply which solved your issue or answered your question.

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.

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.

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 Employee

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 on "Accept as Solution" on the reply which solved your issue or answered your question.

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

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 on "Accept as Solution" on the reply which solved your issue or answered your question.