This discussion is archived
6 Replies Latest reply: Sep 28, 2010 4:40 PM by 807576 RSS

How to rebuild the os_boot.ace file by using the genace.tcl from Xilinx?

807576 Newbie
Currently Being Moderated
Hi, dear all:

Due to the need of our training course, I would like to rebuild the OpenSPARCT1_1_7_os_boot.ace file

by using the bitstream file from existing EDK project and our modified ramdisk image.

But I do not exactly know what the correct command would be.

Here's an example:

xmd -tcl ./genace.tcl -jprog -hw ./implementation/system.bit -data os/OpenSolaris/proto/ramdisk.snv-b77-nd.gz 0x????????
-board ml505 -target mdm -ace my_ace.ace

I don't know which file I should use (Maybe it also needs the ccx-firmware and OBP-Prom files.) and how to assign its starting address.

Does anyone has any suggestion on how to do this?

Best regards,
  • 1. Re: How to rebuild the os_boot.ace file by using the genace.tcl from Xilinx?
    807576 Newbie
    Currently Being Moderated
    After many searches, we finally found the genace_1c4t.txt file under $DV_ROOT/design/sys/edk/scripts directory from OpenSPARCT1 1.7 Processor Download.

    The correct command is:

    xmd -tcl genace.tcl -jprog -target mdm -board ml505 -hw implementation/system.bit -elf ccx-firmware/executable.elf -data os/proms/1c4t_obp_prom.bin 0x8ff00000 -data os/OpenSolaris/proto/ramdisk.snv-b77-nd.gz 0x8af00000 -ace os_boot.ace

    We've also ran a boot test and it works fine.

    Hopefully this will help other people experiencing the same problem.

    Sincerely,
  • 2. Re: How to rebuild the os_boot.ace file by using the genace.tcl from Xilinx?
    807576 Newbie
    Currently Being Moderated
    Thank you so very much!!

    At first I got following error:
    Error: Executable executable.elf does not contain start address..
    I added -start_address 0x8ff00000

    My script looks like this now:
    xmd -tcl genace.tcl -jprog -target mdm -board ml505 -hw system.bit -elf executable.elf -start_address 0x8ff00000 -data 1c4t_obp_prom.bin 0x8ff00000 -data ramdisk.snv-b77-nd.gz 0x8af00000 -ace os_boot.ace
    OpenSolaris is booting - everything seems to work.

    Cheers

    Edited by: DjHousecat on Feb 9, 2010 3:04 AM
  • 3. Re: How to rebuild the os_boot.ace file by using the genace.tcl from Xilinx?
    807576 Newbie
    Currently Being Moderated
    I just realized that there was a copy-paste-failure in my command-line. Of course it has to be download.bit instead of system.bit

    So my correct command line looks like this:
    xmd -tcl genace.tcl -jprog -target mdm -board ml505 -hw download.bit -elf executable.elf -start_address 0x8ff00000 -data 1c4t_obp_prom.bin 0x8ff00000 -data ramdisk.snv-b77-nd.gz 0x8af00000 -ace solaris.ace
    Just fyi: I am working under linux and got following error while executing the comman-line in bash:
    couldn't execute "impact": no such file or directory
    Solution:
    You have to export xilinx paths and load setting-skripts first.
    My complete make_ace skript looks like this:
    XILINX_DIR=/opt/Xilinx/10.1/ISE
    EDK_DIR=/opt/Xilinx/10.1/EDK
    export PATH=$PATH:${XILINX_DIR}/bin/lin64
    export PATH=$PATH:${EDK_DIR}/bin/lin64
    export PATH=$PATH:${EDK_DIR}/gnu/powerpc-eabi/lin64/bin
    
    # load settings
    . ${XILINX_DIR}/settings64.sh
    
    . ${EDK_DIR}/settings64.sh
    
    xmd -tcl genace.tcl -jprog -target mdm -board ml505 -hw download.bit -elf executable.elf -start_address 0x8ff00000 -data 1c4t_obp_prom.bin 0x8ff00000 -data ramdisk.snv-b77-nd.gz 0x8af00000 -ace solaris.ace
    Problem: How to build Ubuntu boot.ace ?

    I tried to replace the OpenSolaris ramdisk image (ramdisk.snv-b77-nd.gz) with the Ubuntu ramdisk image (ramdisk.ubuntu-7.10-gutsy.gz) .

    When I start the ubuntu.ace on my Virtex-5, nothing happens - no USART message, no bootloader.
    At first you can see the blinking SysACE STAT-LED. When it stops blinking, normally the bootloader shows up.

    Do I have to change some memory addresses?
    I think, even when the ramdisk file is corrupted, the bootloader should start up...
  • 4. Re: How to rebuild the os_boot.ace file by using the genace.tcl from Xilinx?
    807576 Newbie
    Currently Being Moderated
    Hi, DjHousecat :

    Here are the steps i've tried:

    1."gzip" the original ramdisk image to ramdisk.ubuntu-7.10-gutsy.gz in the DV_ROOT/desegn/sys/edk/os/Ubuntu/7.10-Gutsy/proto directory.

    2.Generate the ACE file with following command:
    xmd -tcl genace.tcl -jprog -target mdm -board ml505 -hw implementation/system.bit -elf ccx-firmware/executable.elf -data os/proms/1c4t_obp_prom.bin 0x8ff00000 -data os/Ubuntu/7.10-Gutsy/proto/ramdisk.ubuntu-7.10-gutsy.gz 0x8af00000 -ace ubuntu.ace
    After booting, it works well on the FPGA with Ubuntu ramdisk image.

    ( The snapshot file: http://homepage8.seed.net.tw/web@1/menspower/ub_on_opensparc.jpg )

    Regards,

    Shawn.
  • 5. Re: How to rebuild the os_boot.ace file by using the genace.tcl from Xilinx?
    807576 Newbie
    Currently Being Moderated
    That is exactly what I have done. I don't get it.

    I just downloaded it with xmd:
           % dow ccx-firmware/executable.elf
           % dow -data os/proms/1c4t_obp_prom.bin 0x8ff00000
           % dow -data os/Ubuntu/7.10-Gutsy/proto/ramdisk.ubuntu-7.10-gutsy.gz 0x8af00000
           % run
    This works fine: Screenshot

    I will try it again tomorrow.

    Thank you very much!
  • 6. Re: How to rebuild the os_boot.ace file by using the genace.tcl from Xilinx?
    807576 Newbie
    Currently Being Moderated
    I am not able to fine the .elf files for the solaris operation system in the ccx-firmware folder. I am trying to change the sparc architectures and resynthesizing the cores and trying to run open Solaris on them. how to i generate the .elf on my own for the sparc T1 processor? where did you guys get the .elf from? kindly help