On 7/10/07, Sergei Gavrikov <[EMAIL PROTECTED]> wrote:
Execuse me a double post, I have a doubts about e-mail delivery.On Tue, Jul 10, 2007 at 04:23:59PM -0300, Tales Toledo wrote: > On 7/9/07, Sergei Gavrikov <[EMAIL PROTECTED]> wrote: > >I again did review your previous RedBoot dumps. You known/sure that is > >1) RAM copy of `fconfig' is correct, 2) Written flash copy of `fconfig' > >seems or is correct too, there are a valid human readable chunks at the > >least, > > Just checking ... 1) and 2) Ok. You can see as follow > 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: 192.168.1.1 > Local IP address: 192.168.1.100 > Local IP address mask: 255.255.255.0 > Default server IP address: 192.168.1.1 > DNS domain name: <Not a string: 0x1FE32F5> > DNS server IP address: 192.168.1.1 > 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 0x407d0000-0x407d1000: . > ... Program from 0x01fe3000-0x01fe4000 at 0x407d0000: . > RedBoot> ck > RedBoot> cksum > usage: cksum -b <addr> -l <length> > RedBoot> cksum -b 0x01fe3000 -l 0x1000 > POSIX cksum = 2836439824 4096 (0xa910a310 0x00001000) > RedBoot> cksum -b 0x407d0000 -l 0x1000 > POSIX cksum = 2836439824 4096 (0xa910a310 0x00001000) > RedBoot> > > >3) you don't see the BAD magic values in your dumps (0x0BADFACE > >or 0xDEADDEAD). > > RedBoot> dump -b 0x407d0000 -l 0x1000 > 407D0000: 00 00 10 00 0B AD FA CE 01 0C 01 00 62 6F 6F 74 > |............boot| > 407D0010: 5F 73 63 72 69 70 74 00 00 00 00 00 04 11 01 0C > |_script.........| > 407D0020: 62 6F 6F 74 5F 73 63 72 69 70 74 5F 64 61 74 61 > |boot_script_data| > 407D0030: 00 62 6F 6F 74 5F 73 63 72 69 70 74 00 00 00 00 > |.boot_script....| > > I can see 0x0BADFACE... I miss this point, what is wrong with that? It seems I thought itself :-), you have to see both those keys, because the RedBoot config is (flash_config.h) struct _config { unsigned long len; unsigned long key1; unsigned char config_data[MAX_CONFIG_DATA-(4*4)]; unsigned long key2; unsigned long cksum; }; I did try to say what that point checks just 3 things: CRC, KEY1 (0x0BADFACE) and KEY2 (0xDEADDEAD): if ((flash_crc(config) != config->cksum) || (config->key1 != CONFIG_KEY1)|| (config->key2 != CONFIG_KEY2)) { diag_printf("**Warning** FLASH configuration checksum error or invalid key\n"); diag_printf("Use 'fconfig -i' to [re]initialize database\n"); config_init(); return; }
This is my printf result just before the if test config->key1 = 0xbadface, config->key2 = 0xffffffff, config->cksum = 0xffffffff, flash_crc = 0x706de31e As you see I don't get config->key2 and config->cksum with the right values.
Check what that KEY2/CRC is present at the end of 4K area.
I can't find it. I don“t have any KEY2 at 4K area.
You believe that CRC is okay. So, this is the last point. Try to
build a minimalist
RedBoot, i.e. which supports serial and Flash devices only. That reduces a size of RedBoot and rebuild-time. That will be to have a few config options. I wonder it's possible 'fconfig' issue won't be occur... So, try to remove NET stuff from RedBoot:
After investigate more and more I think I have a problem with sectors configuration in flash. I read am29xxxxx_parts.inl and the support for the part number I have in my board (S29GL064MR3) doesn't look fine. The sectors seems to be wrong since it is just TOP boot and not top/bottom as described there. I will try to do some changes tomorrow.
ecosconfig new <your target> redboot ecosconfig import <your ecm file> ecoscongig remove CYGPKG_DEVS_ETH_POWERPC_FEC ... ecosconfig resolve make Well, I don't know your target stuff, so, look on top your own ecos.ecc file to know which NET* related packages (Eth I/O drivers, DNS client, etc.) you can remove, and try to build such a minimal RedBoot image. Will you get 'fconfig' warning with the minimalist RedBoot? If you will... I have no more ideas, sorry :-(.
I hope don't get at this point ;-)
Sergei
-- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
