[U-Boot-Users] data abort

Anders Larsen alarsen at rea.de
Mon Sep 15 13:48:22 CEST 2003


Wolfgang Denk <wd at denx.de> schreibt:
>in message <3F659CD2.1040102 at gmx.de> you wrote:
>> 
>> Now, I've a new problem: When U-Boot starts I can see following
>outsputs 
>>   through "cu", before the system stops due to a data abort.
>...
>> U-Boot code: A1FE0000 -> A1FF5728  BSS: -> A1FF6BD4
>> DRAM Configuration:
>> Bank #0: a0000000 32 MB
>> Flash: 32 MB
>> data abort
>> undefined instruction
>
>There is a 99.99% likelyhood of SDRAM error.

Well, 0.01% > 0%  - the PXA implementation is broken ;-)

It looks a lot like the PXA problem that bit me last week;
_armboot_real_end is never initialized, so U-Boot crashes when
start_armboot() calls mem_malloc_init(_armboot_real_end)!
>
>> If I understand right, this exception occurs due to access to the 
>> contents of the created list. For example at the line(lists.c: 
>
>Most probably it occurs because you are reading garbage from RAM.

...or because ListCreate() can't allocate a (writable) block of RAM.

As a workaround, add this snippet

	/*
	 * Following code is just bug workaround, remove it if not neccessary
	 */

	/* cpu/xscale/cpu.c does not set armboot_real_end that is used for
	   malloc pool.*/
	if ( _armboot_real_end == 0xbadc0de )
		_armboot_real_end = TEXT_BASE - CFG_MALLOC_LEN;

to board_init().
If the problem persists, then Wolfgang is right about RAM HW problems...

I'll submit a patch to fix this once and for all RSN...

Cheers
 Anders





More information about the U-Boot mailing list