[ECOS] printf does not work in user mode on Arm E7T
Jonathan Larmour
jifl@eCosCentric.com
Wed Mar 26 16:49:00 GMT 2003
Pierre Habraken wrote:
> What is strange is that I can't step into the printf subroutine: gdb
> hangs as soon as I have typed the command stepi.
It's not the first time I've had GDB problems with functions with variadic
arguments. Try and set a breakpoint _inside_ printf by hand before you've
stepped into it (e.g. set a breakpoint on some function that printf calls).
> Actually, it seems that it is the 'branch to subroutine' (Arm BL)
> instruction which hangs when executed in user mode: I wrote a small C
> program the main function of which merely switches to usr mode and then
> call a dummy subprogram, and could observe the same behavior, ie the BL
> instruction hangs.
> I fear that the problem is related neither to printf nor to newlib or
> redboot but to the Arm (Samsung implementation) processor...
Theoretically it could be RedBoot since it's up to RedBoot to set the next
breakpoint to implement the single stepping, although that functionality
itself is known to work fine elsewhere. It could also be some problem with
RedBoot's ability to restore state back to user mode, although it's not
clear why it would work for other instructions, but not prior to a BL.
What age is this RedBoot? There were some significant patches from Mark
Salter in this area a while back - April 2002.
A hardware problem is always possible, but seems improbable really.
Jifl
--
eCosCentric http://www.eCosCentric.com/ The eCos and RedBoot experts
--[ "You can complain because roses have thorns, or you ]--
--[ can rejoice because thorns have roses." -Lincoln ]-- Opinions==mine
More information about the Newlib
mailing list