cancel
Showing results for 
Search instead for 
Did you mean: 

I am designing STM32F429 to access NOR Flash S29GL01GS. Refer to RM0090 reference manual, I am using FSMC to perform asynchronous read. What is the correct value for NOR_Timing.DataSetupTime? How do I calculate it?

cye.15
Associate

Below is the ST sample code.

 /* NOR device configuration */ 

NOR_Timing.AddressSetupTime = 1; 

NOR_Timing.AddressHoldTime = 1; 

NOR_Timing.DataSetupTime = 6; 

NOR_Timing.BusTurnAroundDuration = 0; 

NOR_Timing.CLKDivision = 2; 

NOR_Timing.DataLatency = 2; 

NOR_Timing.AccessMode = FMC_ACCESS_MODE_B;

1 REPLY 1

I don't use any "library" so I don't know exactly what's the mapping between the init struct fields and the FMC/FSMC regsiter fields, but presumably .DataSetupTime maps to DATAST field:

0690X000009jwAAQAY.png

OTOH, I never gotten to understand what's exactly the difference between mode 1/A and 2/B (and C and D); what I can see in the diagrams is that in mode 2 NADV is pulsed whereas in mode 1 not, but then I don't know why ST says mode 2 is for NOR FLASH. why would one need the NADV signal for NOR FLASH; I never seen a NOR FLASH which would need an address latch signal.

JW