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]

Flash Driver and Cache in MIPS32


Hi,
My RedBoot text is located in cached segment (called Kseg0)
My RedBoot data+bss are located in un-cached segment (called Kseg1)
(Due to the RAM limitations I can't refer my RAM as cached)
My flash driver's code is located in the RAM.

When I try to access my flash driver for format/program.
I need to manipulate the flash HW API and while doing so the flash is
an unavailable for reading!!!
(Need to do write enable and send other commands to the flash)
It is HW SPI core that enables me to refer the flash as memory mapped
for reading actions.

I have a problem to format my driver. I get an exception during the
format command.
Since my exception base is mapped to a flash address my RedBoot crash
(infinite exceptions loop) from obvious reason -
the flash is unavailable for reading!!!

I linked my RedBoot data+bss into cached segment (which I can't normally use)
And my flash driver works perfectly.

Is there a methodology to to jump between cached and un-cached code execution?
There are macro's inside I/O package for such cases but I'm sure they
fit my target.

Thanks
Elad

-- 
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]