cancel
Showing results for 
Search instead for 
Did you mean: 

FMC Continuous Mode not working

FA1234
Associate III

My FMC clock, set to continuously generated, only cycles during a bus transaction.

On my STM32N657I0H3Q, I have the following setup:

FMC enabled in application
Chip Select NE1
Muxed PSRAM
Data/Address: 16 bits
Clock: Burst Read Write
AddressValid: Yes
Wait: Synchronous

Then, in the configuration, I have "CLK generated continuously" set. 

I have confirmed all of these settings in the resulting fmc.c code. I've also verified at runtime that 

hsram1.Instance->BTCR[FMC_NORSRAM_BANK1] = 0x183997

(Where 1<<20 -- 0x1000000 is continuous clock generation).

Meanwhile, my oscilloscope shows the FMC_CLK waveform:

20.png

Clearly not continuous! 

2 REPLIES 2
SMSAD.1
ST Employee

Hello FA1234

The “CLK generated continuously” bit: it doesn’t necessarily mean “a free‑running clock forever regardless of activity.” What you’re seeing (CLK toggling only during bus transactions, even with the continuous bit set) is in fact expected in many configurations.

In other words, continuous means “continuous during accesses / bursts,” not “oscillating 24/7 whenever FMC is enabled.”

Best regards

Are you sure? This is definitely not the behavior of an STM32H7R3--it toggles continuously, freerunning. 

Also, if your interpretation is correct, what does NOT continuously running mean? There would be no difference--the clock would only toggle during bursts/accesses. So, you're saying that both continuous and not continuous would be identical on the bus?

Can you provide a reference showing that continuous and not continuous are the same thing? Or showing the FMC bus will only toggle the clock during transactions no matter what settings are used? And can you explain why an STM32H7R3 has a continuous clock but the STM32N6 does not?

Thanks for your response!