[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [microblaze-uclinux] Hang in machine_early_init



This value of BSS looks correct in the system.map file.  I am attaching
that and the sytem.mss file as well.  The only thing of interest here is
the petalinx below.  There is no address, just the size.


BEGIN OS
 PARAMETER OS_NAME = petalinux
 PARAMETER OS_VER = 1.00.b
 PARAMETER PROC_INSTANCE = microblaze_0
 PARAMETER STDIN = RS232_Uart
 PARAMETER STDOUT = RS232_Uart
 PARAMETER main_memory = mch_opb_ddr_0
 PARAMETER main_memory_bank = 0
 PARAMETER main_memory_size = 0x08000000
END

-----Original Message-----
From: owner-microblaze-uclinux@xxxxxxxxxxxxxx
[mailto:owner-microblaze-uclinux@xxxxxxxxxxxxxx] On Behalf Of John
Williams
Sent: Monday, April 28, 2008 6:49 PM
To: microblaze-uclinux@xxxxxxxxxxxxxx
Subject: Re: [microblaze-uclinux] Hang in machine_early_init

Hi Ken,

Kenneth Schultz wrote:
> I am having a problem with hanging after copying code in
> machine_early_int.  The code flow is given at the bottom.  Notice that
I
> added out some print statements which give the following lines
> 
> 	FS-BOOT: Booting image...
> 	Found romfs @ 0x3018a000 (0x000f6000)
> 	#### klimit 3019d000 ####
> 	Moving 0x000f6000 bytes from 0x3018a000 to 0x3019cf20
> 	New klimit: 0x30293000
> 	MemSet1 __bss_start 0x3018a000
> 	MemSet1 __bss_stop 0x3019cf20
> 	MemSet1 __bss_stop-__bss_start 0x12f20
> 
> 
> 
> However, I have some concerns about this range of memory.  Since I am
> not using a boot loader, I just copied image.bin from 0x3000_0000 to
> 0x3028_0026 and then branched to 0x3000_0000.  So the below code seems
> to be deleting parts of the downloaded code.  This, I expect is my
> problem and I need to re-locate portions of this code.  I was under
the
> impression, that I should just be able to call this image and it will
> relocate itself.  I may be wrong here...  

image.bin is intended to be loaded and executed at the start address (no

relocation required).  In that sense you seem to be doing the right 
thing, but this stuff should Just Work.

  Note that the contents of BSS are not contained in image.bin (would 
just be 10's of Kb of zeros).  So, the relocation is just moving the 
ROMFS image from bss_start where it ends up after the download (it's 
appended directly to linux.bin binary), to _bss_stop where the MTD 
mapping driver expects to find it.

Some things to check.

Does the reported BSS size (0x12f20) match what you see from analysing 
linux-2.6.x/System.map?

Are you doing anything funky with memory or the kernel link script?

Have you run and verified a simple memory test standalone app?

Any override settings in system.mss for MAIN_MEMORY_START or _OFFSET?


/John
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive :
http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/

Attachment: system.mss
Description: system.mss

Attachment: System.map
Description: System.map