[ECOS] How to enable diag_printf at Redboot

Tales Toledo toledo.tales@gmail.com
Mon Jul 9 19:11:00 GMT 2007


On 7/9/07, Sergei Gavrikov <w3sg@softhome.net> wrote:
> On Mon, Jul 09, 2007 at 12:45:16PM -0300, Tales Toledo wrote:
> > On 7/6/07, Sergei Gavrikov <w3sg@softhome.net> wrote:
> > >On Fri, Jul 06, 2007 at 04:37:47PM -0300, Tales Toledo wrote:
> > >> On 7/6/07, Sergei Gavrikov <w3sg@softhome.net> 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.

This is an excerpt from RedBoot> dump -b 0x407d0000 -l 0x1000

407D0240: 0C 62 6F 6F 74 5F 73 63  72 69 70 74 5F 74 69 6D  |.boot_script_tim|
407D0250: 65 6F 75 74 00 62 6F 6F  74 5F 73 63 72 69 70 74  |eout.boot_script|
407D0260: 00 00 00 00 00 01 06 01  00 62 6F 6F 74 70 00 00  |.........bootp..|
407D0270: 00 00 00 05 14 00 06 62  6F 6F 74 70 5F 6D 79 5F  |.......bootp_my_|
407D0280: 67 61 74 65 77 61 79 5F  69 70 00 62 6F 6F 74 70  |gateway_ip.bootp|
407D0290: 00 C0 A8 01 01 05 0C 00  06 62 6F 6F 74 70 5F 6D  |.........bootp_m|
407D02A0: 79 5F 69 70 00 62 6F 6F  74 70 00 C0 A8 01 64 05  |y_ip.bootp....d.|
407D02B0: 11 00 06 62 6F 6F 74 70  5F 6D 79 5F 69 70 5F 6D  |...bootp_my_ip_m|
407D02C0: 61 73 6B 00 62 6F 6F 74  70 00 FF FF FF 00 05 10  |ask.bootp.......|
407D02D0: 01 00 62 6F 6F 74 70 5F  73 65 72 76 65 72 5F 69  |..bootp_server_i|
407D02E0: 70 00 C0 A8 01 01 03 0B  01 00 64 6E 73 5F 64 6F  |p.........dns_do|
407D02F0: 6D 61 69 6E 00 7C 71 43  A6 7C 92 43 A6 7C B3 43  |main.|qC.|.C.|.C|
407D0300: A6 7C 80 00 26 38 A0 00  00 54 A5 D1 BE 3C 60 00  |.|..&8...T...<`.|
407D0310: 00 60 63 30 00 7C 63 28  2E 7C A8 02 A6 7C 68 03  |.`c0.|c(.|...|h.|
407D0320: A6 38 60 00 00 4E 80 00  20 60 00 00 00 60 00 00  |.8`..N.. `...`..|

As you can see, as reference, the local IP address (192.168.1.100 =>
C0 A8 01 64) and mask (255.255.255.0 => FF FF FF 00) are written
there. I believe other parameters like bootp = false should also be
written... I don't know where I must look to find out the problem.

>
> Sergei
>
> > >
> > >Execuse me that my useless suggest about DEBUG* options. I would play
> > >with a set of the CYG*REDBOOT*FLASH*CONFIG defaults at the end: editing
> > >`ecos.ecc' and re-building RedBoot. But that can take your whole weekend.
> > >
> > Any help is welcome. No excuses, only thanks.
> >
> > >Regards,
> > >
> > >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



More information about the Ecos-discuss mailing list