[U-Boot] Help command broken on AT91SAM9G10-EK

Justin Waters justin.waters at timesys.com
Fri Nov 13 22:24:47 CET 2009


On Fri, 2009-11-13 at 12:50 -0500, Peter Tyser wrote:
> On Fri, 2009-11-13 at 12:01 -0500, Justin Waters wrote:
> > Hi Peter,
> > 
> > On Fri, 2009-11-13 at 11:50 -0500, Peter Tyser wrote:
> > > Do no commands work for you, or just "help" in particular?
> > 
> > >From what I can tell, just "help".
> 
> Interesting...

I haven't noticed any other issues, but that doesn't mean there aren't
any ;)

> > > And are you seeing 2 separate issues: 1 where the help output is
> > > garbled, and 1 where the "help" command can't be ran?
> > 
> > Yes, I am seeing two separate issues.  It depends on which commit I use.
> > If I go back to the "readline" commit, then I get garbled output.  Once
> > the editenv commit is added back, I get the 'help not found' error.
> 
> I'm not sure what to make of this.  I can't figure out how
> "246c69225c7b962d5c93e92282b78ca9fc5fefee - Add 'editenv' command" would
> fix the garbled output or cause the help command not to be found.  Its
> just adding a new command and shouldn't really have any impact on common
> code.

Well, editenv doesn't fix the garbled output, it just makes it so you
can't see it.  The help command issue is what really confuses me.  If I
just disable the editenv command, running "help" seems to lock up the
board.  That seems really weird to me, since it seems to disable all of
the code that was added by the previous patch.  I'm going to dig into
this a little more.  If I also revert the changes in cread_line,
everything works fine.

> Thanks.  If I understand correctly, chronologically you first start
> having issues when "ecc5500ee487170d8af6ff893fd1e0082380a01a -
> readline(): Add ability to modify a string buffer" is applied.

Yes, that's correct.

> If this is the case, I'd try debugging this issue first before
> addressing the later 'help not found' issue.

I agree.  That's the tact that I was trying to take before.

> Is there any pattern in the garbled output? Could you send an example of
> it?  Is only the output of 'help' is garbled, everything else is fine?

So there are three commits in a row:

ecc5500 - readline(): Add ability to modify a string buffer
b0fa8e5 - setenv(): Delete 0-length environment variables
246c692 - Add 'editenv' command

After the first commit, the garbled text appears at the end of help.
After the second, running *help* hangs the board.
After the third, I get the 'help not found' message.  Although, now that
I try to reproduce the error, it seems to hang as well.  Possibly
something still sitting around in memory that was causing the problem?

> Could you add some debug to print out the value of init_len in
> common/main.c:cread_line()?  In theory as long as you don't run
> "editenv" it should always be 0.  Assuming it is always 0, could you try
> commenting out the following snippet in the same file:
> 
>       if (init_len)
>                cread_add_str(buf, init_len, 1, &num, &eol_num, buf, *len);
> 
> Then also try commenting out the modification to
> common/main.c:readline():
> 
>       console_buffer[0] = '\0';
> 
> Those 2 modifications are all that commit
> ecc5500ee487170d8af6ff893fd1e0082380a01a added - I'd be curious to know
> which one caused the problem.

Definitely the first one.  I can leave the second one in without a
problem.

> 
> Another interesting data point would be to remove CONFIG_SYS_HUSH_PARSER
> from the AT91SAM9263-EK u-boot image and see if it breaks in the same
> way.

Now things have gotten very interesting... SAM9263 works great without
hush, but the 9G10 and 9261 (which use the same base code, just slightly
different configurations) are completely broken.  Also, I can't add hush
into these boards, or they won't boot.  This error that I see after
applying your patches seems likely to be a symptom of a larger issue
with these two boards.  I'm going to try some of the other Atmel boards
that I have lying around (9260, 9G20).  I'll let you know what I find
out.

> Thanks again,
> Peter

Thanks,

Justin



More information about the U-Boot mailing list