Hi,
I am developing flash driver for TMS470MF6607 controller using CCS V4.2.3.
I am following below sequence for erase operation.
- Initializing bank and sectors
- Call the Flash_Compact_B()
- Then start erase using Flash_Start_Erase_B()
- Check the status of erase using Flash_Status_U16()
- wait till BUSY bit in status register get cleared, since I am unable to perform any other operation during erase operation in progress.
- If more sectors to be erased then goto step 1, otherwise set flag to indicate erase is success.
I placed flash driver code in RAM area and above sequence is working fine. Time taken for erasing are below.
|
Sector Size |
Time taken for erase operation (Seconds) |
Additional Information |
|
16K |
0.409 |
Single sector |
|
32K |
0.6436 |
Single sector |
|
32K |
1.0 |
Length is overlapping two sectors |
|
64K |
1.0 |
Single sector |
If length increased, this time will be increased. For entire erase of flash its around 12 seconds.
But according to my customer requirement, I have to excute some part code (which is placed in flash memory) for every particulat period (after 20msec of erase start and later for every 4.5seconds) to indicate erase is in progress. And control should come back to RAM area from where it is jumped to flash. When I try to excute it, erase operation is stopped and there is no flash driver code in RAM to access.
Can provide the information to access the flash code whie erase opeartion is in progress. Is it possible to excute using any mode? Please provide it as early as possible.
Thanks in Advance.......
Regards,
Sarada CM