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