[U-Boot-Users] data abort

Anders Larsen alarsen at rea.de
Wed Sep 17 10:57:52 CEST 2003


Glenson Muthedan <glenson at gmx.de> schreibt:
>Thank you guys for your kind help. My SDRAM initialization was not 
>correct. Now, having done some changes, everything seems to work 
>smoothly except one line in devices_init() in the file common/devices.c
>
>The execution stops at the line
>gd->flags |= GD_FLG_DEVINIT;	/* device initialization done */
>
>Then, sometimes a "prefetch abort" occurs, sometimes it just hangs.

Hi Glenson,

does it happen immediately at that line, or did you add any debug
output?

As soon as GD_FLG_DEVINIT is set, the output functions (puts, printf,
...) will search for the output device in a lookup table, which
unfortunately has not yet been initialized at that point (the lookup
table is initialized in console_init_r() which is called *after*
devices_init() has completed).

Perhaps the line "gd->flags |= GD_FLG_DEVINIT;" should better be
moved to console_init_r() ?

Cheers
 Anders





More information about the U-Boot mailing list