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

RE: [microblaze-uclinux] Kernel boot problem ( Michael Simek Wiki )



Dear Michal, and any one else interested :)

I performed all of the steps carefully,

- downloaded latest kernel source code (without futex) from git repository of petalogix: git://developer.petalogix.com
- created system.dts using device_tree , copied system.dts into kernel source code, /arch/microblaze/boot/dts/ and /arch/microblaze/platform/generic and also renamed system.dts to platform.dts and copied it again into /arch/microblaze/boot/dts/
- In base system: Barrel shifter, hardware multiplier, integer devider, MSR, Pattern comperator, Full PVR , 8 kbytes cache
- in base system: all exceptions are enabled, MMU is set to VIRTUAL mode
- make mmu_defconfige
- make menuconfig
- touch rootfs.cpio  ( in the root folder of kernel source code )
- make simpleImage.platform
all done successfully.
- simpleImage.platform & simpleImage.platform.ub created.
Now:
1- using XMD i load simpleImage.platform on the board, here are the results:
after this command: dow simpleImage.platform , we get this:
XMD% dow simpleImage.platform
System Reset .... DONE
Downloading Program -- simpleImage.platform
        section, .text: 0xc0000000-0xc022b1f7
        section, .ref.text: 0xc022b1f8-0xc022be87
        section, .cpuinit.text: 0xc022be88-0xc022cd13
        section, .meminit.text: 0xc022cd14-0xc022cfb3
        section, .devexit.text: 0xc022cfb4-0xc022d0cf
        section, .devinit.text: 0xc022d0d0-0xc022dc33
        section, .init.text: 0xc02d8000-0xc02eddb7
        section, .init.ivt: 0xc02eec34-0xc02eec9b
 ERROR: Failed to download ELF file

I-Side Memory Access Check Failed
        Section, 0xc0000000-0xc022b1f7 Not Accessible from Processor I-Side Interface

what is the reason? I can guess, the reason is MMU. but should i set any additional address values for MMU while configuring the kernel? obviously i dont have such an address 0xc0000000 in my system. but i see this value in .config file inside kernel. nor mmu_defig neither any other process seems to change this value.
 
2- using U-boot, we have still the same problem is before:
Filename 'image.ub'.
Load address: 0x44800000
Loading: #################################################################
         #################################################################
         #################################################################
         ###############
done
Bytes transferred = 3080280 (2f0058 hex)
U-Boot-mONStR> bootm 0x44800000 - 0x44780000
## Booting kernel from Legacy Image at 44800000 ...
   Image Name:   Linux-2.6.30
   Image Type:   MicroBlaze Linux Kernel Image (uncompressed)
   Data Size:    3080216 Bytes =  2.9 MB
   Load Address: 90000000
   Entry Point:  90000000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK
every thing freezes here!!!

What is the problem this time?
do you have any idea?
Thanks


 
> Date: Wed, 21 Oct 2009 08:55:37 +0200
> From: michal.simek@xxxxxxxxxxxxx
> To: microblaze-uclinux@xxxxxxxxxxxxxx
> CC: microblaze-linux-dev@xxxxxxxxxxxxxx
> Subject: Re: [microblaze-uclinux] Kernel boot problem ( Michael Simek Wiki )
>
> Hi Sadri,
>
> first of all just Michal - no worries about and please do not apology.
>
> some my comments below.
>
> Mohammad Sadegh Sadri wrote:
> > Hi all,
> >
> > according to this reference from Michael : "Mainline linux kernel for
> > Microblaze" available at http://www.monstr.eu/wiki/doku.php?id=fdt:fdt i
> > have built the linux kernel.
>
> I'll have to update my page.
>
> >
> > I have downloaded the latest version of code for all of the packages
> > from Michael's web based git repository.
>
> I think you are not able to use latest our master branch because you have older toolchain
> If you want to use our master branch at
> http://developer.petalogix.com/git/gitweb.cgi?p=linux-2.6-microblaze.git;a=summary
>
> please do not use microblaze: futex support patch - you can revert it or use older version.
>
>
> >
> > I have done all of the specified steps in the Wiki carefully.
> > Unfortunately the kernel stops working completely at initial step.
> >
> > Base system is built using EDK 11.2, SP2
> > Microblaze version is 7.20.b :
> > - barrel shifter : active
> > - floating point unit : disabled
> > - Integer multiplier : 32 bits
> > - integer devider : active
> > - machine status register instructions : acitve
> > - Pattern comperator : active
> > - cache : 8kbytes data and instruction , cache line length : 4
> > - MMU : active , mode 3 (VIRTUAL)
> > - processor version registers (PVR) : FULL
> >
> > microblaze is running at 50MHz and DRAM controller at 100MHz, and
> > hardware is working properly.
> >
> > Boot process : fsboot ----> U-BOOT ----> Linux kernel
> > Linux version : latest available version from Michael Simek's gir
> > repository.
> > u-boot required config files and device tree generated with latest
> > available BSPs by Michael. using DTC I make system.dtb according to
> > Michaels documents.
> >
> > Linux kernel configuration: ( note : when i download the kernel source
> > code from gir repository i see that there is no default config )
>
> There are two defconfigs in arch/microblaze/configs/
>
>
> > I do the steps specified in the Wiki exactly : just i mention the
> > differences with what Michael says
> >
> > - CONFIG_KERNEL_BASE_ADDR = 0x44800000 ( because my DDR SDRAM
> > Controller base address is 0x44000000 )
> > - CONFIG_XILINX_MICROBLAZE_FAMILY = "spartan3" ( instead of "virtex5"
> > which is the default )
> > - CONFIG_XILINX_MICROBLAZE_USE_HW_MUL=1 ( instead of 2 because i use a
> > 32bits multiplier )
> > - CONFIG_XILINX_MICROBLAZE_USE_FPU = 0 ( because i dont have any FPU )
> > - CONFIG_XILINX_MICROBLAZE_HW_VER = "7.20.b" ( my microblaze version )
> > - I also enable MMU in kernel configuration
> > - i do not enter any commands to be passed to kernel
> > - I enable the xilinx uart lite driver to be added to the kernel
> > - I say that the console should come up on uart lite ( ttyUL0 )
>
> run
> make mmu_defconfig
> make menuconfig -> Platform option -> setup your parameters
> (It should work any kernel base addr but I am using/testing ddr base addr)
> copy your platform.dts file to arch/microblaze/boot/dts/
> touch rootfs.cpio -> just fake cpio image
> and run make simpleImage.platform
>
> then you find in arch/microblaze/boot folder some files
> 1. simpleImage.platform
> 2. simpleImage.platform.ub
>
>
> ad 1. load bitstream to your board , run this xmd.ini
> connect mb mdm
> dow simpleImage.platform
> run
> exit
>
> You should be able to see output on console -> then you can fight with rootfs.
>
> ad 2. load that ub image via u-boot and run
> just
> tftp XXXXXXXXX simpleImage.platform.ub
> bootm XXXXXXXX
>
> then you should be able to see the same output as for previous image
>
> If not- read log buffer to see what wrong is.
>
> >
> > Making the u-boot image for kernel:
> > I use exactly the same command as what michael has specified in his Wiki.
> >
> > RESULT:
> > fs-boot brings up u-boot at memory location 0x47fc0000
> > using u-boot i do the following:
> > - tftp 0x44780000 system.dtb
> > - tftp 0x44800000 image.ub
> > - bootm 0x44800000 - 0x44780000
> >
> > what happens is as follows:
> > U-Boot-mONStR> bootm 0x44800000 - 0x447800000
> > ## Booting kernel from Legacy Image at 44800000 ...
> > Image Name: ICTI LInux kernel
> > Image Type: MicroBlaze Linux Kernel Image (uncompressed)
> > Data Size: 1593860 Bytes = 1.5 MB
> > Load Address: 44800000
> > Entry Point: 44800000
> > Verifying Checksum ... OK
> > XIP Kernel Image ... OK
> > OK
> >
>
> From log I see that you don't have support for booting multiple images.
> That's why your kernel not work.
>
>
> Regards,
> Michal
>
>
> > and the system stops working completely!!!
> > would you please provide me with some guesses through your previous
> > experiments that what can be the cause of this phenomenan?
> > Thanks
> > Mohammad
> >
> >
> > ------------------------------------------------------------------------
> > Less clicking: Hotmail access on the new MSN homepage.
> > <http://go.microsoft.com/?linkid=9677398>
>
> --
> Michal Simek, Ing. (M.Eng)
> PetaLogix - Linux Solutions for a Reconfigurable World
> w: www.petalogix.com p: +61-7-30090663,+42-0-721842854 f: +61-7-30090663
> ___________________________
> 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/
>


Lots of fantastic offers on Windows 7, in one convenient place. Get a deal on Windows 7 now