> -----Original Message----- > From: ecos-discuss-ow...@ecos.sourceware.org > [mailto:ecos-discuss-ow...@ecos.sourceware.org] On Behalf Of > Harley Carmo > Sent: Monday, June 13, 2011 10:01 PM > To: ecos-discuss@ecos.sourceware.org > Subject: [ECOS] Problem with flash driver and cache > > > Hi all, > > I'm having a problem with cache handling in the flash driver > for a ARM920T processor. I'm trying to read the flash > contents using cyg_flash_read(), but my application hangs up > whenever the macro HAL_FLASH_CACHES_OFF is called. However > the problem only happens if I read the flash after the eCos > scheduler is started. When reading the flash contents in > cyg_user_start() I have no problem. > I already tried disabling interrupts and reordering the macro > (as suggested here: > http://www.mail-archive.com/ecos-discuss@ecos.sourceware.org/m > sg01859.html) but it didn't work for me. > Does anybody have any ideas?
At the moment I am searching problems with cache, too. Maybe I have an idea... When Flushing or Invalidating Flash Content, always a complete cache line is affected. This causes problems, when your buffer (you wants to flush or invalidate) is not aligned to the beginning of a cache line or at the end of the cache line are other datas. In that case it is possible, that other data then expected are affected, too. I do not know, if this could be a reason for your problem. I found this problem regarding cache handling in a specific ethernet driver Richard Rauch email: rra...@itrgmbh.de _______________________________________________ ITR GmbH Informationstechnologie Rauch Schnepfenreuther Hauptstrasse 27b D-90425 Nuernberg _______________________________________________ -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss