UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor atulya1988
Visitor
12,601 Views
Registered: ‎05-19-2008

System ACE Generarion difficulties: loading the software

Jump to solution

Hi ppl...

i'm trying to program the ML403 board with a PowerPC processor, and want to load the entire thing (both bitstream and elf) from the CF Card using System ACE. impact didn't correctly generate the ace file even for a simple bitstream, but genace worked. the problem is when i include the elf file, it doesn't seem to load correctly. the memory map for the software goes something like this: the .boot  and .boot0 sections (i haven't yet figured out the differences between the two...) are stored in bram memory and all the rest of the sections are in ddr sdram (64M of it on the system). now, how do i initialise memory? which software project has to be "marked to initialise brams" ? and is it necessary to write a bootloader or will the system boot to dram after loading? if the former, then how do i write it? please help!... thanks in advance...

 

0 Kudos
1 Solution

Accepted Solutions
Xilinx Employee
Xilinx Employee
14,571 Views
Registered: ‎08-01-2007

Re: System ACE Generarion difficulties: loading the software

Jump to solution

Atulya,

 

You cannot use iMPACT to create an ACE file that has the software application in it. You must use the genace.tcl script to generate the .ACE.

 

You can mark the bootloop to be initialized into BRAM and use the .ELF from the application that resides in DDR SDRAM. So your command would be something like this:

 

xmd -tcl genace.tcl -jprog -board ml403 -target ppc_hw -hw download.bit -elf <application>.elf -ace system.ace

 

When you say it does not work, do you mean the FPGA cannot be configured or do you mean that the application does not execute although the "DONE" LED is lit up?

 

0 Kudos
12 Replies
Xilinx Employee
Xilinx Employee
14,572 Views
Registered: ‎08-01-2007

Re: System ACE Generarion difficulties: loading the software

Jump to solution

Atulya,

 

You cannot use iMPACT to create an ACE file that has the software application in it. You must use the genace.tcl script to generate the .ACE.

 

You can mark the bootloop to be initialized into BRAM and use the .ELF from the application that resides in DDR SDRAM. So your command would be something like this:

 

xmd -tcl genace.tcl -jprog -board ml403 -target ppc_hw -hw download.bit -elf <application>.elf -ace system.ace

 

When you say it does not work, do you mean the FPGA cannot be configured or do you mean that the application does not execute although the "DONE" LED is lit up?

 

0 Kudos
Visitor atulya1988
Visitor
12,563 Views
Registered: ‎05-19-2008

Re: System ACE Generarion difficulties: loading the software

Jump to solution

hi centaur

thanks for the prompt response, first of all!
by "did not work", i mean that the "done" led on the kit lights up, however, the application does not run. i think only the bootloop is getting executed. i am storing the ace in the "myAce" folder in the CF Card provided with the kit. the message on the RS232 screen says "Loading Configuration Slot 6". and the done led lights up. after this, nothing more happens. is there something more i need to do, perhaps check something in the elf file?

thanks...

0 Kudos
Visitor atulya1988
Visitor
12,523 Views
Registered: ‎05-19-2008

Re: System ACE Generarion difficulties: loading the software

Jump to solution
Hi!... thanks for your hlp again centaur, the command u gave us works... the problem was in the elf file... also, there may be a problem in the link file of the echo server application (xapp1026), has anyone else found this? the program seems to be getting stuck in an infinite loop before doing anything... please check the dump file...
0 Kudos
Explorer
Explorer
12,417 Views
Registered: ‎05-30-2008

Re: System ACE Generarion difficulties: loading the software

Jump to solution

What was wrong in your elf file? I am having a similar difficulty.

 

I am using a similar command to the one above. My elf program runs, but does not run properly. The temac gets incorrectly configured and the program is then useless (it is a networking program).

 

If download using XMD it always works fine. If I load the ace file then replace the program with the same elf file usinf XMD then it runs fine, but when loaded from the ACE file it incorrectly configures the temac. It thinks it has a 1000baseT connection and not a 100baseT.

 

You mentioned the echo server so i am hoping you had a similar difficulty and overcame it.

 

Thankyou,

Josh 

0 Kudos
Explorer
Explorer
12,410 Views
Registered: ‎05-30-2008

Re: System ACE Generarion difficulties: loading the software

Jump to solution

I now put:

 

 for (x = 0; x < 500000; x++){
        // stall for temac to init itself
    }

 

and this makes it work!

 

If I use even 100,000  it does not work.

 

This causes a couple second pause when starting, but it works so I am happy.

 

hope this helps someone.

 

~Josh 

0 Kudos
Newbie mikkolap
Newbie
12,143 Views
Registered: ‎06-13-2008

Re: System ACE Generarion difficulties: loading the software

Jump to solution

I am having same problem with software. We are using ML403 card with EDK 9.2.

I can program the fpga with ace but not with software...I don't know what happens. When downloading software with edk, the fpga seems to be programmed.

But with ace, software never start running, or that how it looks likes.. Program is in ddr ram.

 

I'm building the ace with command:

$ xmd -tcl genace.tcl -opt generate_ace.opt

 

File: generate_ace.opt:


-jprog
-ace test.ace
-hw system_download.bit
-board ml403
-target ppc_hw
-elf Testsw.elf


 

I replaced .ace file from demo cf-card with my own ace file and seems to be that hardware gets programmed but software or processor won't start..

What can I do next? 

0 Kudos
Visitor marijn_zes
Visitor
9,702 Views
Registered: ‎08-22-2008

Re: System ACE Generarion difficulties: loading the software

Jump to solution

hello,

 

So is the problem in the linker or is it the initialization of the ethernet controller?? And where exactly do i need to add my delay??

 

Thx

0 Kudos
Visitor bernav1
Visitor
9,651 Views
Registered: ‎02-13-2008

Re: System ACE Generarion difficulties: loading the software

Jump to solution

Hey,

I'm using ml402 and microblaze and my code is in ddr so my cmd line is like :

xmd -tcl genace.tcl -jprog -board ml402 -target mdm -hw ./implementation/download.bit -elf projName/executable.elf -ace myAce.ace

And all is working :)) The only problem is that it's around 5 times slower than when the program is in bram. Have u noticed that as well? And is there way how to make it faster? Actually I can probably live with slower speed but I just wanna know if I can do better.

 

Thx Vit

Message Edited by bernav1 on 10-14-2008 12:17 PM
Message Edited by bernav1 on 10-14-2008 12:18 PM
0 Kudos
Explorer
Explorer
9,644 Views
Registered: ‎05-30-2008

Re: System ACE Generarion difficulties: loading the software

Jump to solution

marijn_zes wrote:

hello,

 

So is the problem in the linker or is it the initialization of the ethernet controller?? And where exactly do i need to add my delay??

 

Thx


 

The problem was not in the linker. The delay was needed for the ethernet controller to get intitialized by my microblaze program correctly. If the program just ran right away, the TEMAC would never work, but after adding the above mentioned code to waste some clock cycles, the TEMAC gets intitalized correctly and everything runs. Unfortunately this provides a longer startup time of maybe 1/2 second or more. I put that loop in the very beginning of main(). This allows the firmware/hardware to initialize before any other code starts to run. Everything would appear to be fine, but the TEMAC would say it was 1000BaseT when it should have been 100BaseT.

Message Edited by thirdeye on 10-14-2008 12:53 PM
0 Kudos
Explorer
Explorer
4,210 Views
Registered: ‎05-30-2008

Re: System ACE Generarion difficulties: loading the software

Jump to solution

bernav1 wrote:

Hey,

I'm using ml402 and microblaze and my code is in ddr so my cmd line is like :

xmd -tcl genace.tcl -jprog -board ml402 -target mdm -hw ./implementation/download.bit -elf projName/executable.elf -ace myAce.ace

And all is working :)) The only problem is that it's around 5 times slower than when the program is in bram. Have u noticed that as well? And is there way how to make it faster? Actually I can probably live with slower speed but I just wanna know if I can do better.

 

Thx Vit

Message Edited by bernav1 on 10-14-2008 12:17 PM
Message Edited by bernav1 on 10-14-2008 12:18 PM

I do not know whether you can make the DDR faster or not, but the DDR is much slower than BRAM loading. The BRAMs are directly in the FPGA, whereas the external DDR needs to be accessed by the memory controller and read into the FPGA. This is necessarily slower and depends on the speed of the memory chips used as well as the speed of the memory controller in accessing the memory and providing the read back data.

Message Edited by thirdeye on 10-14-2008 01:02 PM
0 Kudos
Explorer
Explorer
4,207 Views
Registered: ‎05-30-2008

Re: System ACE Generarion difficulties: loading the software

Jump to solution

Just for anyone curious, perhaps in the future -

 

My genace command line is:

 

xmd -tcl genace.tcl -jprog -target mdm -hw implementation/download.bit -elf utxperf/executable.elf -board ml501b -ace system.ace

 

I put a different FPGA on my ML501 so I had to modify genace.tcl to have another board definition which was a copy of ml501 but with a different FPGA. I named it ml501b as can be seen in the command line.

0 Kudos
Participant camarada
Participant
3,555 Views
Registered: ‎06-05-2009

Re: System ACE Generarion difficulties: loading the software

Jump to solution
Hi. I'm using ml505 and microblase program. When I create an ACE file (with genace.tcl) and trying to load it, the red led becomes on. Structure of CF card is configued properly. For test i'm using default loader (that can select number of configuration with board buttons or terminal) it is working, but after reset i have the problem. Can anybody help me?
0 Kudos