
Hi Siddharth,
On Tue, Dec 13, 2011 at 6:51 AM, Simon Glass sjg@chromium.org wrote:
Hi,
On Sun, Dec 11, 2011 at 11:51 PM, siddharth baisane nov15twentyten@gmail.com wrote:
hi,
I am trying to print statement in uboot. but whenever I add *printf *statement board hangs. For example in *u-boot/lib_arm/board.c* i added prinf statement and board hags.
void start_armboot (void) { init_fnc_t **init_fnc_ptr; char *s; #if defined(CONFIG_VFD) || defined(CONFIG_LCD) unsigned long addr; #endif
*printf("armboot starts\n");* /* Pointer is writable since we allocated a register for it */ gd = (gd_t*)(_armboot_start - CONFIG_SYS_MALLOC_LEN - sizeof(gd_t)); /* compiler optimization barrier needed for GCC >= 3.4 */ __asm__ __volatile__("": : :"memory");
memset ((void*)gd, 0, sizeof (gd_t)); gd->bd = (bd_t*)((char*)gd - sizeof(bd_t)); memset (gd->bd, 0, sizeof (bd_t));
gd->flags |= GD_FLG_RELOC;
monitor_flash_len = _bss_start - _armboot_start;
You can use the CONFIG_PRE_CONSOLE_BUFFER feature to support printf() prior to console_init_f().
Which raises questions about the version you are running - Prior to the implementation of CONFIG_PRE_CONSOLE_BUFFER, a change was made to squelch console output prior to console init which turned printf(), puts() and friends into a nop prior to console init, so the addition of a printf() should not have caused the board to hang (although I do admit these changes were after 2011.09)
I suggest upgrading to latest top-of-tree, or wait another 10 days for 2011.12
Regards,
Graeme