On Mon, Jul 09, 2007 at 04:11:52PM -0300, Tales Toledo wrote: > On 7/9/07, Sergei Gavrikov <[EMAIL PROTECTED]> wrote: > >On Mon, Jul 09, 2007 at 12:45:16PM -0300, Tales Toledo wrote: > >> On 7/6/07, Sergei Gavrikov <[EMAIL PROTECTED]> wrote: > >> >On Fri, Jul 06, 2007 at 04:37:47PM -0300, Tales Toledo wrote: > >> >> On 7/6/07, Sergei Gavrikov <[EMAIL PROTECTED]> wrote: > >> >> >On Fri, Jul 06, 2007 at 03:32:01PM -0300, Tales Toledo wrote: > >> >> >> Hi, > >> >> >> > >> >> >> I would like to enable all diag_printf messages at Redboot. > >> >> >> How can I do this? > >> >> >> Which cdl option should I have to enable to make it works? > >> >> > > >> >> >There are a lot of debug messages in RedBoot. That depends on > >packages > >> >> >are used to build RedBoot (RedBoot is a closely target related > >stuff). > >> >> >You can see that, U.T.S.L. > >> >> > > >> >> >find $ECOS_REPOSITORY/redboot/current/src | xargs grep DEBUG > >> >> > > >> >> >You can meet ZM_DEBUG, DEBUG_TCP, etc., etc., etc. > >> >> > > >> >> >but it seems, that more suitable way is to look at any > >CYGDBG_REDBOOT_* > >> >> >options in your `ecos.ecc' is prepared to build RedBoot > >> >> > > >> >> > >> >> I enable CYGDBG_REDBOOT_NET_DEBUG that is the most important for me > >> >> right now. Unfortunately I am having some problems with flash > >> >> configuration at boot that override it with 0. > >> >> I can't see any messages until now... > >> > > >> >Ah, I did pass your vis-a-vis dialog with Gary. I'm seeing now what is > >> >your issue. That is a flash config issue, isn't that? I look at some > >> >RedBoot options/semaphores and found this one > >> > > >> >cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {user_value 1}; > >> > >> Yes, I believe it could be a flash config problem. I have tried it but > >> with no success. I am still having the same behavior. The flash was > >> written (I'm sure because i can dump and see the ip address > >> server/mask/gateway) but seems that Redboot don't take this > >> configuration from flash at boot up. > >> > >> > > >> >Perhaps, some fail(s) protected itself by such a way? But, you told that > >> >fconfig copy in RAM is good. Did you tried to change the default flash > >> >config block number (cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK) ? > >> > >> I also change it. Should I see the differences at fis list command? I > >> choose -4 as example and the Redboot config remains at 0x407FF000. It > >> should be at 0x407FA000. Did i understand the cdl_option right? > > > >That has an effect, if this option is turnned off: > > > >cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {user_falue 0}; > > ^^^^^^^^^^^^ > >So, try such an import before make > > > You were right. I was using > CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {user_value 1};. > > >... > >cat <<_EOF | ecosconfig import /dev/stdin > >cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {user_value 0}; > >cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {user_value -4}; > >_EOF > > > >Then fulfil `fconf -i', `fis init -f' as you do it as well and compare > >the `fis list' results. I get the expected changes on my target. > > > With cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {user_value -3}; I got > RedBoot> fis list > Name FLASH addr Mem addr Length Entry point > RedBoot 0x40000000 0x40000000 0x00030000 0x00000000 > RedBoot config 0x407D0000 0x407D0000 0x00001000 0x00000000 > FIS directory 0x407F0000 0x407F0000 0x00010000 0x00000000 > > It works BUT... the problem is still present. Redboot doesn't seem to > read boot configuration from flash.
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, 3) you don't see the BAD magic values in your dumps (0x0BADFACE or 0xDEADDEAD). 4) You did disable a caching. Is it right? But you get these lines on every reboot: **Warning** FLASH configuration checksum error or invalid key "Use 'fconfig -i' to [re]initialize database That stop point is placed here (you saw): fconfig.c:load_flash_config(). if ((flash_crc(config) != config->cksum) || (config->key1 != CONFIG_KEY1)|| (config->key2 != CONFIG_KEY2)) { and, if you sure that you don't meet that magic cookies in your dumps, therefore, it's needed look at flash_crc(), isn't it? There is a stone in that proc, this is REDBOOT_FLASH_REVERSE_BYTEORDER (look on the flash_crc(), please). And I wonder about your settings in your ecos.ecc too. I believe that cyg_crc32 calculates all okay :) but what do you think about those lines: if (swabbed) conf_endian_fixup(conf); it's possible that is wrong set of the REDBOOT_FLASH_REVERSE_BYTEORDER value is your issue. Check that, please. Insert your own additional diag prints into flash_crc to print direct and endian fixed values. And use RedBoot's `cksum' command to calculate the check sums for RAM fconfig copy and FLASH fconfig copy. 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