This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
I know it is a shot in the dark and that CLA and Flash are not best buddies, but I was just wondering if I can run flash erase, program and verify in CLA (for configuration data using 1 Flash sector). My configuration data is growing and it takes a whooping 1.2s to write the whole thing in flash. So far I have managed it to only do it when it is relatively "safe" in my application but it would help tremendously if I can use the CLA for it and not bother the CPU. Please confirm or deny before I dive head first into the issue. I also welcome other ideas to deal with the problem.
Thanks,
Erik
Hi Erik,
but I was just wondering if I can run flash erase, program and verify in CLA (for configuration data using 1 Flash sector).
I don't think you can use FLASH APIs from CLA. But, lets wait for what one of the TIers hvae to say.
Regards,
Gautam
Hi Gautam,
I am pretty sure you are right, but let's hear it from the officials like you said. I am more interested in their explanation on the whynots because this feature, if possible, could be a deal breaker for quite a few projects, mine included.
Thanks,
Erik
Hi Erik,
The flash APIs access the system registers; the CLA does not have access to these so no it would not be able to do anything with the flash.
Thanks Vishal,
Do you have any recommendations to speed up the flash programming for a sizeable configuration data, beside using an external serial flash? What I fear the most is the power down situation while the system is in a middle of flash programming. I do have a pre power down detection where I count missing 0xings, which will not allow a flash programming but it is not bullet proof.
Erik
I would like to confirm that Flash operation CANNOT be operated from CLA. I hope you are running the flash algorithm at MAX frequency of the device. Also, what is the state of the flash before you are programming? If the flash is already in erased state you can skip flash erase function and directly program the flash. This should significantly improve your flash programming time.
If you want to directly call flash program function without calling flash erase function, you need to use the following function:-
Flash_Program(Flash_ptr,Buffer,Length,&FlashStatus);
Regards,
Manoj
Thank you Manoj,
Yes I know what you mean, but it only applies if you have a small amount of data to program. I actually use it in another page of flash for other stuff that I need to keep track in time (only a float). For this, I only erase once and program one float at a time without erase until I run out of the flash page, then do another erase, and start over. On the other hand, my configuration data is large and it makes no sense to do this. We might have to resort to an external flash later if there is no way to improve this.
Also, I am running the F28069 at 90MHz. What did you mean by "MAX frequency of the device"?
Erik