Skip to main content
ranran
Senior
January 3, 2019
Question

FMC NOR is extremely slow !

  • January 3, 2019
  • 8 replies
  • 3778 views

Hello,

I run the FMC nor example for stm32h743 eval, with the eval board, and I get very poor timing:

I used the original configuration , and only changed DataSetupTime   from 8 to 10 (with the original configuration, the test fails with my eval board ! ).

Yet, the write speed of NOR flash is extremely slow:

Writing 64KB took 3 minutes and 10 seconds --> speed is 360 B/sec !

Does it make sense that nor write is so slow ? Is it the HW write speed or ineffective write routine (or both) ?

Thank you,

ran

Is there any idea ?

Thanks

ran 

This topic has been closed for replies.

8 replies

Tesla DeLorean
Guru
January 3, 2019

>>I wander if anyone tested this example before it was packaged in the cube , or maybe it is that the timing is just too much close to limits of functional.

I'm not sure any aimless walking was involved, but testing of HAL and CubeMX is somewhat sporadic, and effort is expected to get the code examples to a point where they are robust enough for industrial/commercial application. Assume it is cut-n-paste grade development.

I've seen you use a term a couple of times which in the US/UK is interpreted as an odd word usage.

Wander (walk aimlessly, day-dream) != Wonder (think or speculate curiously)

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
ranran
ranranAuthor
Senior
January 4, 2019

Hi Clive,

Is there a way to get the correct values for the FMC nor flash by ST ?

Thanks

ranran
ranranAuthor
Senior
January 3, 2019

-

ranran
ranranAuthor
Senior
January 7, 2019

Hello,

Can ST please provide the correct timing for this interface.

I managed to make it functional by increasing the numbers, but it seems that the flash takes very long time now....

What are the optimal values and how can I find them ?

Thank you,

ran

Mohamed Aymen HZAMI
ST Employee
January 10, 2019

Hello,

I already tested on my side and it works well.

Best Regards,

Mohamed Aymen.

Tesla DeLorean
Guru
January 10, 2019

The oddness here is that the external loaders (Keil, ST-LINK) can access the NOR fine, with what looks like the same timing settings, but STM32Cube_FW_H7_V1.3.0\Drivers\BSP\STM32H743I_EVAL\stm32h743i_eval_nor.c and calling BSP_NOR_Init() doesn't seem to provide data properly at 0x60000000 memory window.

What revision of EVAL board are you using, and what stepping of H7 silicon?

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
ranran
ranranAuthor
Senior
January 13, 2019

Hi,

Is there anything which can explain the VERY slow speed of nor flash in my point.

I am just using the same example from stm32cubeh7.

Is it that the NOR flashed in my eval board is different and slower ? Is it that the example is not effeceint enough ? Or is it the the speed is so slow (360 B/s) ?

Thank you,

ran

Tesla DeLorean
Guru
January 13, 2019

I don't know, have we even establish what device is mounted on your board. The examples say it is an PC28F128M29EWLA, which is nominally a Micron or Intel device depending on who owned the fab at any given time. http://www.marketwatch.com/story/micron-to-buy-out-intels-share-of-flash-joint-venture-for-15-billion-2018-10-18

ST's loader uses the alternate name of a notionally equivalent part, or second source part#

M29W128GL_STM32H743I-EVAL

Examining the .stldr file, the PLL and NOR timings seem to be the same as those described in the NOR BSP file for the board. And do read, write, verify the content properly. For a megabyte, or so, this takes a few tens of seconds, not minutes to occur.

The issues at the application level seem real, but it is not my project, and I can't spend hours of time troubleshooting it. ST did not furnish this board to me, and they are not paying for my time here.

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
ranran
ranranAuthor
Senior
January 13, 2019

Hello Clive,

Can you please see image.

I don't understand.

In U12 , it shows 7KA15 (not like yours).

Yet, According to this page

https://www.micron.com/products/nor-flash/parallel-nor-flash/part-catalog/mt28ew128aba1lpc-0sit

It seems that I have mt28ew128aba1lpc (7KA15 is the FBPA name for the chip).

Another interesting thing I noticed, if is that systemclock_config has much influence on the time it takes to do the flash nor programming.

I still not sure which exact clock is responsible for this. 

Thank you!

ran

0690X000006D56GQAS.jpg

ranran
ranranAuthor
Senior
January 13, 2019

-

Mohamed Aymen HZAMI
ST Employee
January 16, 2019

Hello,

I tested on the STM32H743I-EVAL board Rev B with the example you quoted above with the PC28F128M29EWLA NOR memory and it works well.

Best Regards,

Mohamed Aymen.

ranran
ranranAuthor
Senior
January 16, 2019

Hello Mohamed-aymen,

Thank you.

What is the approximate speed ?

When I tested it with the example I get that for 127kB (127*512 words array) it takes about 1 minute and 30 seconds -> ~2.2 KB/seconds

What is the speed in your case ?

Best Regards,

Ran

Mohamed Aymen HZAMI
ST Employee
January 16, 2019

Hello,

Without changing anything in the Firmware example, it takes about 7 seconds.

Best Regards,

Mohamed Aymen.

ranran
ranranAuthor
Senior
January 16, 2019

Hello Mohamed,

Thank you for the assistance.

It means , that writing rate is 0x1000/7 = 585 Bytes/seconds, which is extremely slow.

So, If you need to write 127k Bytes , it shall takes almost ~4 minutes !

I think that NOR is expected to be have a much faster speed.

So, Why NOR flash programming using this example is so slow ?

Best Regards,

Ran