RE: Problem with flash driver and cache

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



> -----Original Message-----
> From: ecos-discuss-owner@xxxxxxxxxxxxxxxxxxx 
> [mailto:ecos-discuss-owner@xxxxxxxxxxxxxxxxxxx] On Behalf Of 
> Harley Carmo
> Sent: Monday, June 13, 2011 10:01 PM
> To: ecos-discuss@xxxxxxxxxxxxxxxxxxx
> Subject:  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@xxxxxxxxxxxxxxxxxxx/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: rrauch@xxxxxxxxxx
_______________________________________________

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



[Index of Archives]     [Linux Embedded]     [U-Boot V2]     [Linux Kernel]     [Linux MIPS]     [Linux ARM]     [Linux for the Blind]     [Linux Resources]     [Photo]     [Yosemite]     [ISDN Cause Codes]     [eCos Home]

  Powered by Linux