CF52259 FLASH PAGE ERASE TIMING

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

CF52259 FLASH PAGE ERASE TIMING

1,704 Views
Liljo
Contributor I

Hello !

 

I'm emulating NVM memory in a flash page, i wonder if anybody knows how long time it should take to do a flash page erase? According to my measurements it seems to take about 20 ms is this corrrect?

 

Additionaly it seems as the flash page erase command sucks the processor completely it stalls until it finnishes so is there any way to make the flash page erase an background operation? I have quite tough timing requirements and if the processing stops for 20 ms it causes problems in some cases.

 

Thankful for feedback

 

Best Regards Fredrik Liljenvall

Labels (1)
0 Kudos
Reply
3 Replies

561 Views
bkatt
Contributor IV

I also see 20 ms to erase a CFM page on other coldfires.

 

During the erase (or flash write) you can execute code in RAM (in effect, you must start the flash operation from code executing in RAM). DMA to/from RAM also proceeds.

 

Since our vector table is in flash, we disable all interrupts while a small RAM subroutine performs the flash operation.

 

0 Kudos
Reply

561 Views
Liljo
Contributor I

Ok, thanks for your feedback!

 

We will probably go for an external EEPROM to solve this issue.

0 Kudos
Reply

561 Views
RichTestardi
Senior Contributor II

I see about 20ms as well.  I wonder if this is the stall you see:

 

18.4.2.3.3 Bus Arbitration During Write Operations
After a command has been successfully launched, the CFM signals the core platform to hold off read accesses to any active flash physical block until all active and buffered commands have completed (CCIF=1). A flash write operation from the internal flash bus holds off the Core platform until it is completed.

You might have to load your code to RAM to keep running (I believe that will work, but have not tried it).

 

-- Rich

0 Kudos
Reply