[ECOS] Redboot initialize database error

Paul Fine Paul_Fine@dtccom.com
Fri Jun 29 07:39:00 GMT 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Tales Toledo wrote:
> On 6/28/07, Gary Thomas <gary@mlbassoc.com> wrote:
> Tales Toledo wrote:
>> On 6/27/07, Gary Thomas <gary@mlbassoc.com> wrote:
> 
>>> Don't top post :-(
> 
>> Sorry!
> 
>>> What do you see when you run 'fis list'?
> 
>> RedBoot> fis list
>> Name              FLASH addr  Mem addr    Length      Entry point
>> RedBoot           0x40000000  0x40000000  0x00030000  0x00000000
>> FIS directory     0x407F0000  0x407F0000  0x0000F000  0x00000000
>> RedBoot config    0x407FF000  0x407FF000  0x00001000  0x00000000
> 
>>> Did you verify that it wrote anything to your FLASH?
> 
>> It seems Ok to me.
>> Before any fconfig command I did a RAM fill command with 0xffffffff
>> pattern. You can see the dump here.
> 
>> RedBoot> dump -b 0x01ff0000 -l 0xff -4
>> 01FF0000: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
>> 01FF0010: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
>> 01FF0020: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
>> 01FF0030: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
>> 01FF0040: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
>> 01FF0050: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
>> 01FF0060: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
>> 01FF0070: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
>> 01FF0080: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
>> 01FF0090: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
>> 01FF00A0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
>> 01FF00B0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
>> 01FF00C0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
>> 01FF00D0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
>> 01FF00E0: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
>> 01FF00F0: FFFFFFFF FFFFFFFF FFFFFFFF
>> RedBoot> fconfig -i
>> Initialize non-volatile configuration - continue (y/n)? y
>> Run script at boot: false
>> Use BOOTP for network configuration: false
>> Gateway IP address: 0.0.0.0
>> Local IP address: 192.168.0.100
>> Local IP address mask: 255.255.255.0
>> Default server IP address: 192.168.0.1
>> DNS domain name: <Not a string: 0x1FE32F5>
>> DNS server IP address: 192.168.0.4
>> Network hardware address [MAC]: 0x7C:0x71:0x43:0xA6:0x7C:0x92
>> GDB connection port: 9000
>> Force console for special debug messages: false
>> Network debug at boot time: false
>> Update RedBoot non-volatile configuration - continue (y/n)? y
>> ... Erase from 0x407f0000-0x40800000: .
>> ... Program from 0x01ff0000-0x02000000 at 0x407f0000: .
>> RedBoot> dump -b 0x01ff0000 -l 0xff -4
>> 01FF0000: 52656442 6F6F7400 00000000 00000000
>> 01FF0010: 40000000 40000000 00030000 00000000
>> 01FF0020: 00000000 00000000 00000000 00000000
>> 01FF0030: 00000000 00000000 00000000 00000000
>> 01FF0040: 00000000 00000000 00000000 00000000
>> 01FF0050: 00000000 00000000 00000000 00000000
>> 01FF0060: 00000000 00000000 00000000 00000000
>> 01FF0070: 00000000 00000000 00000000 00000000
>> 01FF0080: 00000000 00000000 00000000 00000000
>> 01FF0090: 00000000 00000000 00000000 00000000
>> 01FF00A0: 00000000 00000000 00000000 00000000
>> 01FF00B0: 00000000 00000000 00000000 00000000
>> 01FF00C0: 00000000 00000000 00000000 00000000
>> 01FF00D0: 00000000 00000000 00000000 00000000
>> 01FF00E0: 00000000 00000000 00000000 00000000
>> 01FF00F0: 00000000 00000000 00000000
>> RedBoot> dump -b 0x407f0000 -l 0xff -4
>> 407F0000: 52656442 6F6F7400 00000000 00000000
>> 407F0010: 40000000 40000000 00030000 00000000
>> 407F0020: 00000000 00000000 00000000 00000000
>> 407F0030: 00000000 00000000 00000000 00000000
>> 407F0040: 00000000 00000000 00000000 00000000
>> 407F0050: 00000000 00000000 00000000 00000000
>> 407F0060: 00000000 00000000 00000000 00000000
>> 407F0070: 00000000 00000000 00000000 00000000
>> 407F0080: 00000000 00000000 00000000 00000000
>> 407F0090: 00000000 00000000 00000000 00000000
>> 407F00A0: 00000000 00000000 00000000 00000000
>> 407F00B0: 00000000 00000000 00000000 00000000
>> 407F00C0: 00000000 00000000 00000000 00000000
>> 407F00D0: 00000000 00000000 00000000 00000000
>> 407F00E0: 00000000 00000000 00000000 00000000
>> 407F00F0: 00000000 00000000 00000000
>> RedBoot> dump -b 0x1fff000 -l 0xff -4
>> 01FFF000: 00001000 0BADFACE 010C0100 626F6F74
>> 01FFF010: 5F736372 69707400 00000000 0411010C
>> 01FFF020: 626F6F74 5F736372 6970745F 64617461
>> 01FFF030: 00626F6F 745F7363 72697074 00000000
>> 01FFF040: 00000000 00000000 00000000 00000000
>> 01FFF050: 00000000 00000000 00000000 00000000
>> 01FFF060: 00000000 00000000 00000000 00000000
>> 01FFF070: 00000000 00000000 00000000 00000000
>> 01FFF080: 00000000 00000000 00000000 00000000
>> 01FFF090: 00000000 00000000 00000000 00000000
>> 01FFF0A0: 00000000 00000000 00000000 00000000
>> 01FFF0B0: 00000000 00000000 00000000 00000000
>> 01FFF0C0: 00000000 00000000 00000000 00000000
>> 01FFF0D0: 00000000 00000000 00000000 00000000
>> 01FFF0E0: 00000000 00000000 00000000 00000000
>> 01FFF0F0: 00000000 00000000 00000000
>> RedBoot> dump -b 0x407ff000 -l 0xff -4
>> 407FF000: 00001000 0BADFACE 010C0100 626F6F74
>> 407FF010: 5F736372 69707400 00000000 0411010C
>> 407FF020: 626F6F74 5F736372 6970745F 64617461
>> 407FF030: 00626F6F 745F7363 72697074 00000000
>> 407FF040: 00000000 00000000 00000000 00000000
>> 407FF050: 00000000 00000000 00000000 00000000
>> 407FF060: 00000000 00000000 00000000 00000000
>> 407FF070: 00000000 00000000 00000000 00000000
>> 407FF080: 00000000 00000000 00000000 00000000
>> 407FF090: 00000000 00000000 00000000 00000000
>> 407FF0A0: 00000000 00000000 00000000 00000000
>> 407FF0B0: 00000000 00000000 00000000 00000000
>> 407FF0C0: 00000000 00000000 00000000 00000000
>> 407FF0D0: 00000000 00000000 00000000 00000000
>> 407FF0E0: 00000000 00000000 00000000 00000000
>> 407FF0F0: 00000000 00000000 00000000
>> RedBoot>
> 
>> Any idea?
>> Seems it is writing something but I don't know if the dump results
> makes
>> sense.
> 
> After you run the 'fconfig -i' command (before running
> any other), try this:
>   RedBoot> mcmp -s 0x1FFF000 -d 0x407FF000 -l 0x1000
> There should be no differences.  If there are, it may
> point you to why this is failing.
> 
>> The result is the same. All configuration is copied to memory. I
check
>> it with memory dump at specific locations and the writing process is
>> Ok but after issue a reset command at Redboot> the previous
>> configuration is lost... seems that flash has no persistence ?!

It almost seems like there is a cache issue.  If the processor isn't
actually writing the info the FLASH, but actually has it in the data
cache, then a read back of the addresses in question would show no
difference as it was reading from cache, not from the actual address in
FLASH.

Of course it has been years since I looked at how the FLASH drivers are
actually writing to FLASH and how redboot is reading from it, so the
cache may actually be disabled during these operations.

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