[ECOS] Re: Limit region of flash used by RedBoot for FIS?

Grant Edwards grante@visi.com
Tue Nov 7 18:02:00 GMT 2006


In gmane.os.ecos.general, you wrote:
>> Is there any reason that somebody might want the FIS directory
>> block somewhere other than at the top of usable flash?
>
> Yes. That bit of code came from me. I had a system where i needed to
> work around the existing flash usage. The top block of flash was not
> usable for FIS, it contains binary data to be downloaded to an
> FPGA. So i added CDL to allow the FIS/CFG region to be placed in any
> block. 

That's the exact same situation I'm in: the top 1MB contains
that's loaded into an FPGA by hardware on startup (before the
CPU starts).

However, I don't want "fis init -f" to erase that block, and it
appears that it would do so as the code exists now.  Is that
correct?

We've already got customers and support staff who are used to
doing "fis init -f" without turning the thing into a brick. I
really don't want to change that in the next generation.

> However, i don't see why the CFG/FIS block should mark the end
> of usable FLASH. It was useful for me to be able to use
> Redboot to install new FPGA images above the FIS/CFG blocks.

I'd like to be able to do that as well, so perhaps my proposed
solution isn't the best.  

What I really want is:

 * A reserved block in the top of flash for the CPLD data.

   That block must be left untouched by "fis init -f".

   It would be cool if that block showed up in fis list and
   could be updated using RedBoot as long as it can't be
   deleted by "fis del" and re-used for something else.

 * A second reserved block (either top or bottom of flash) for
   some other data.

   This block must be left untouched by "fis init -f" also.   

   It's fine if that block shows up in fis list and can be
   updated by RedBoot commands as well, as long as it can't be
   deleted using "fis del" (it always has to be there, and it
   can't move).

>> So I'll probably just add CYGNUM_REDBOOT_FLASH_RESERVED_TOP and
>> leave the FIS directory position specified (in blocks) by
>> CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK but make it relative to
>> (flash_end-CYGNUM_REDBOOT_FLASH_RESERVED_TOP).
>
> O.K. Add a comment to the CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK
> and CYGNUM_REDBOOT_CFG_DIRECTORY_BLOCK option that they are
> relative to the usable top, not the physical top.

I'm unclear on whether RedBoot allows the user to write blocks
of data to the flash reserved by CYGNUM_REDBOOT_FLASH_RESERVED_BASE
in the existing implementation and by CYGNUM_REDBOOT_FLASH_RESERVED_TOP
in my proposed system.

-- 
Grant Edwards                   grante             Yow!  Two with FLUFFO,
                                  at               hold th' BEETS...side of
                               visi.com            SOYETTES!

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



More information about the Ecos-discuss mailing list