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

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



Dear Michal ( and others )

You were correct,
I added the following change into kernel configuration:
- Platform Options ---> Physical Address where Linux kernel is : 0x44800000

Again we have problem with XMD, when running dow command, it persist on there is no 0xc0000000 address
I added the following changes into kernel configuration to solve the problem:

- In "Advanced Setup" I enabled "Prompt for advance kernel configuration options"
- In "Advanced setup" I enable "Set custom kernel base address"
- I set the custom kernel address to 0x44800000

Now, in XMD , dow can run successfully, and I can run the kernel,
here is the outcome:

early_printk_console is enabled at 0x84000000
Ramdisk addr 0x00000003, Compiled-in FDT at 0x44a2d49c

and kernel stops working completely!
Is the problem with ramdisk? should i pass a parameter to kernel (through dts) to specify the correct ramdisk address?

Thanks
Mohammad
 

> Date: Mon, 26 Oct 2009 14:18:48 +0100
> From: michal.simek@xxxxxxxxxxxxx
> To: microblaze-uclinux@xxxxxxxxxxxxxx
> Subject: Re: [microblaze-uclinux] Kernel boot problem ( Michael Simek Wiki )
>
>
>
> Mohammad Sadegh Sadri wrote:
> > 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!!!
>
> I expect your main memory is something like 44000000 - 45ff ffff but you compiled kernel
> for 9000 0000. You should change it in menuconfig.
>
> If I am wrong please send me your .config and mhs file.
>
> Regards,
> Michal
>
>
> >
> > 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 <http://go.microsoft.com/?linkid=9691628>
>
> --
> 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/
>


Ready…Set…Get a great deal on Windows 7 See phenomenal deals on Windows 7 now