Hello Haofeng Kou,My colleague just asked John Williams about the same thing, and here is the answer. Please note, that we are working on a Insight Memec Spartan3 S3MB1500 evaluation board rev. 2. The files attached probably wont't work for You, but the way to do it should be similar:
*********** John Wrote ************ Here are the steps you should do to boot from flash. 0. Setup your Linux PC as a TFTP server, as per instructions here: http://www.linuxhomenetworking.com/linux-hn/xinetd.htm#_Toc57733791 Make sure the /tftpboot directory is exported by the TFTP server. By default, the uClinux build process copies the kernel image into /tftpboot. 1. Edit the file uClinux-dist/linux-2.4.x/drivers/mtd/maps/mb_auto.c line 45, change to "#define BUS_WIDTH 2" 2. rebuild the linux kernel (make dep all) 3. Inflate the attached bootloader.tar.gz archive from inside your s3mb1500 EDK project directory. 4. Add the bootloader as a software project in XPS, and set it to initialse the BRAMs with the bootloader program. You can just use the attached system.xmp project file if you wish, it has the project already added. 5. Rebuild the bitstream, and download to the board. 6. Using XMD, download the new kernel image in "normal" way, "dow -data etc", into DDR, and boot the kernel. 7. When MicroBlaze boots, connect it to the network, set your IP address and all that. 8. Use the netflash command to pull the kernel image from the tftp server, to the microblaze, like this: $ netflash server.ip.address.here image.bin It should download the image, and write it into flash. 9. Reboot the board (or reconfigure the FPGA). This time, the bootlaoder will copy the kernel image from flash, and boot uClinux automatically. You can use netflash any time you want to save a new kernel image on the flash. *********** John Wrote End ************ Files attached origin from John too :-) Greetings, Sigi Haofeng Kou wrote:
I have succeed boot up the uClinux on the Digilent XUPV2P board(MicroBlaze core), it is using the bootloop and the XMD to download the Linux image and bootup. Now I want to burn the uClinux image(kernel+fs) into the flash and boot it directly from the flash. If you already done the similar work, could you please share some info here by replying this email? Thanks! ___________________________ 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/
#Please do not modify this file by hand XmpVersion: 7.1 IntStyle: default MHS File: system.mhs MSS File: system.mss NPL File: projnav/system.ise Architecture: spartan3 Device: xc3s1500 Package: fg676 SpeedGrade: -4 UseProjNav: 0 AddToNPL: 0 PNImportBitFile: PNImportBmmFile: UserCmd1: UserCmd1Type: 0 UserCmd2: UserCmd2Type: 0 SynProj: xst ReloadPbde: 0 MainMhsEditor: 0 InsertNoPads: 0 HdlLang: VHDL Simulator: mti SimModel: BEHAVIORAL SimXLib: SimEdkLib: MixLangSim: 1 UcfFile: data/system.ucf ICacheAddr: DDR_SDRAM_16Mx16,C_MEM0_BASEADDR ICacheAddr: DDR_SDRAM_16Mx16,C_MEM0_BASEADDR Processor: microblaze_0 BootLoop: 0 XmdStub: 0 SwProj: TestApp_Memory Processor: microblaze_0 Executable: TestApp_Memory/executable.elf Source: TestApp_Memory/src/TestApp_Memory.c DefaultInit: EXECUTABLE InitBram: 0 Active: 1 CompilerOptLevel: 2 GlobPtrOpt: 0 DebugSym: 1 AsmOpt: LinkOpt: ProgStart: StackSize: HeapSize: LinkerScript: TestApp_Memory/src/TestApp_Memory_LinkScr ProgCCFlags: SwProj: TestApp_Peripheral Processor: microblaze_0 Executable: TestApp_Peripheral/executable.elf Source: TestApp_Peripheral/src/TestApp_Peripheral.c Source: TestApp_Peripheral/src/xuartlite_selftest_example.c Source: TestApp_Peripheral/src/xemac_polled_example.c DefaultInit: EXECUTABLE InitBram: 0 Active: 1 CompilerOptLevel: 2 GlobPtrOpt: 0 DebugSym: 1 AsmOpt: LinkOpt: ProgStart: StackSize: HeapSize: LinkerScript: TestApp_Peripheral/src/TestApp_Peripheral_LinkScr ProgCCFlags: SwProj: bootloader Processor: microblaze_0 Executable: bootloader/executable.elf Source: bootloader/bootloader.c Source: bootloader/flash.c Header: bootloader/flash.h DefaultInit: executable InitBram: 1 Active: 1 CompilerOptLevel: 2 GlobPtrOpt: 0 DebugSym: 1 AsmOpt: LinkOpt: ProgStart: StackSize: HeapSize: LinkerScript: ProgCCFlags:
Attachment:
bootloader.tar.gz
Description: application/compressed