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 willrelocate 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/