I saw the below statement in the FLS driver:
Synchronize the memory by invalidating the cache after each flash hardware operation.
The FLS driver needs to maintain the memory coherency by means of three methods:
1. Disable data cache, or
2. Configure the flash region upon which the driver operates, as non-cacheable, or
3. Enable the FlsSynchronizeCache feature.
Depending on the application configuration, one option may be more beneficial than other.
I am concerned about performance speed because I am unable to disable all data caches. (num 1)
Therefore, I would like to disable Cache only in the DataFlash area. (num 2)
Please tell me how to disable cache in a specific area.
Hi,
I think with #2, you can use API provided in Mcl module : Mcl_CacheInvalidateByAddr() with input params as: Mcl_CacheType CacheType, uint32 Addr and uint32 Length to invalidate Cache by address of specific DataFls region as you want.
In detail, please see in MCL User Manual document