|
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 have downloaded the latest version of code for all of the packages from Michael's web based git repository. 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 ) 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 ) 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 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. |