This is the mail archive of the ecos-discuss@sources.redhat.com 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]

RE: Problem with Flash drivers, RedBoot, and Flash high in the memory map


The Intel unblocking scheme depends on the part.
28F320C3T unblocks on individual blocks.
StrataFlash unlock causes all to unlock.
In addition, the 28F320C3T always comes up completely
locked after a reset.
I assume they use other schemes for other parts....

Doug

> -----Original Message-----
> From: Paul Fine [mailto:pfine@delcomsys.com]
> Sent: Tuesday, January 15, 2002 10:09 AM
> To: eCos discuss mailing list, eCos discuss mailing list
> Subject: [ECOS] Problem with Flash drivers, RedBoot, and Flash high in
> the memory map
> 
> 
> I am porting the Flash drivers to the Motorola MPC8260 
> Voyager Advanced 
> Development Board.  This board puts the Flash in the last 8M 
> of the 32 bit 
> memory map.  I have run into trouble getting the fis commands 
> to work due 
> to the fact that many of the functions to manipulate the 
> flash use as the 
> address of the end of the Flash
> 
> end_addr = Flash_start_addr + length(Flash)
> 
> In my case, the end_addr wraps around so the value is 0x0, so 
> any compares 
> to see if my working address is greater than the end_addr 
> always are true.
> 
> I am now going through the code to find all the places where 
> I need to 
> subtract 1 from my end_addr and change the compares from "<" to "<=".
> 
> Has anyone else encountered this issue, or am I the first one 
> to use Flash 
> at the high end of the memory map, or am I missing a switch, 
> CDL option, or 
> something else obvious?
> 
> In a somewhat related issue, the Sharp Flash memory that is 
> on the board 
> supports locking of the Flash blocks.  The way it works is 
> that you can 
> individually lock a 256K block, but unlocking affects all 32 
> blocks.  In 
> order to use locking, I will implement the unlock function as 
> a three step 
> process:
> 
> 1)  Query Flash to determine which blocks are locked.
> 2)  If the block I want to unlock is locked, unlock all 
> blocks (its the 
> only choice I have)
> 3)  Go back and relock the blocks that were originally locked.
> 
> Does the Intel implementation of this Flash standard 
> implement individual 
> block unlocking?
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]