public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] Strange data behaviour
@ 2009-02-17 11:55 Remco Poelstra
  2009-02-17 19:12 ` Wolfgang Denk
  0 siblings, 1 reply; 4+ messages in thread
From: Remco Poelstra @ 2009-02-17 11:55 UTC (permalink / raw)
  To: u-boot

Hi,

I'm trying to get my LPC2468 based board to work. I've some problems 
with the external memory databus.
I would like to know the settings of internal registers to see whether 
I've initialized them correctly, so I tried making a function that 
prints the content over the serial link. I'm still in the lowlevel_init 
function, so I do not have the U-boot puts functions available.
I wrote the following function to convert a long to a HEX string:
-------------------
void print_long(unsigned long data) {
   char i;
   char 
hex_data[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

   for(i=0; i<8; i++) {
     while((U0LSR & (1<<5)) == 0); /* Wait for empty U0THR */
//    U0THR = hex_data[(0xDEADBEEF>>i*4)&0xF];
     U0THR = hex_data[(0xDEADBEEF>>4)&0xF];
   }
}
---------------
When I run it likes this I get 8 E's. Which is what I expect. When I run 
it with the commented-out line, I get back 8 0x0's. So it seems that the 
output is only correct when it is constant.
Does anyone have a clue on why that is?

Kind regards,

Remco Poelstra

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-02-19  0:32 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-17 11:55 [U-Boot] Strange data behaviour Remco Poelstra
2009-02-17 19:12 ` Wolfgang Denk
2009-02-18  8:19   ` Remco Poelstra
2009-02-19  0:32     ` Kim Phillips

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox