This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Is cache disabling necessary during flash programming/erase cycles?


Gary Thomas wrote:

Lars Povlsen wrote:
> Hello folks,
> > Many of the flash_XXX() functions in
> .../packages/io/flash/current/src/flash.c have the caches disabled while
> accessing the flash.
>
> According to flash.h - and I quote -
>
> "Execution of flash code must be done inside a
> HAL_FLASH_CACHES_OFF/HAL_FLASH_CACHES_ON region - disabling the cache on
> unified cache systems is necessary to prevent burst access to the flash
> area being programmed. With Harvard style caches, only the data cache
> needs to be disabled, but the instruction cache is disabled for
> consistency".
> > In our case we have a Harvard style cache running on an ARM9. The
> address space covered by the flash is uncached and unbuffered (We're
> running ROMRAM), so my question is:
>
> Is disabling of the DCache really needed on such a system?


Probably not, but not doing so will probably not affect the
performance greatly since you'll still be stuck in those loops
waiting for the device to do its thing.

Gary,

Problem is not so much the flash performance - its the *rest* of the system while the flash is being updated (config update in this case). The system becomes very sluggish during the update.

We'll probably do a CDL option to disable the disable (:-) Is a patch of interest if it pans out OK?

---Lars

PS: The flash accesses (read as well as write) are guarded by a mutex at system level.

--
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]