[ECOS] Supporting Paged Flash in eCos/RedBoot

Jonathan Larmour jifl@eCosCentric.com
Tue Feb 18 16:15:00 GMT 2003


Ian Campbell wrote:
> 
> For example the current page or physical base etc would go in
> flash_drv_info and be provided by the HAL flash driver e.g.
> devs/flash/arm/* while things like the number of blocks and their sizes
> come from the type of flash device e.g. devs/flash/intel/strata and go
> in the current flash_info. But -- we'll see how I get on, maybe I'm
> wrong.

The biggest issue I had when looking at this is how much RedBoot relies on 
fixed block sizes. Various CDL options and configuration passed up from 
the low level driver mixes numbers of blocks and sizes, thus implying a 
fixed relationship between the two. RedBoot also expects flash to exist in 
one contiguous region.

May I suggest for a major overhaul you consider a new version of flash.c 
in redboot (i.e. just something like flash2.c), presenting a similar 
external (user) interface. Obviously this goes hand in hand with changes 
in io/flash. A flash driver can indicate which io/flash support and 
therefore which redboot flash.c it wants.

This way you don't have to worry so much about breaking other flash 
drivers. And you wouldn't have to get everything that's currently in 
redboot's flash.c working in a new version straight away. Definitely one 
of the good things about CDL!

I would have done it myself, but didn't have the appropriate hardware I 
needed to test it with, or really the time since there wasn't any 
money/business requirement behind it :-|.

Jifl
-- 
eCosCentric    http://www.eCosCentric.com/    The eCos and RedBoot experts
--[ "You can complain because roses have thorns, or you ]--
--[  can rejoice because thorns have roses." -Lincoln   ]-- Opinions==mine


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



More information about the Ecos-discuss mailing list