cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Explorer
Explorer
2,763 Views
Registered: ‎11-12-2007

Converting ELF to SVF

Hi

I am trying to convert a ELF-File to an SVF-file with XMD as described in the user guide. 

 

I have a custom board with a Virtex5FX30T and PPC440 processor

 

My problem is: 

Whenever I specify "xilinx_svffile" as cable type, I get the Error "Unable to stop PowerPC Processor"

 

I can use XMD to connect download the elf manuell using the tcl command:

set TARGET 32
xconnect ppc hw 
xdownload $TARGET sw.elf
xrun $TARGET

 This runs just fine.

xconnect ppc hw gives me the following:

XMD% xconnect ppc hw
X 32#
JTAG chain configuration
--------------------------------------------------
Device   ID Code        IR Length    Part Name
 1       63276093          10        XC5VFX30T

PowerPC440 Processor Configuration
-------------------------------------
Version.............................0x7ff21912
User ID.............................0x00f00002
No of PC Breakpoints................4
No of Addr/Data Watchpoints.........2
User Defined Address Map to access Special PowerPC Features using XMD:
	I-Cache	(Data)........0x70000000 - 0x70007fff
	I-Cache	(TAG).........0x70008000 - 0x7000ffff
	D-Cache	(Data)........0x78000000 - 0x78007fff
	D-Cache	(TAG).........0x78008000 - 0x7800ffff
	DCR...................0x78020000 - 0x78020fff
	TLB...................0x70020000 - 0x70023fff

 

When I try to use the svf target I get:

XMD% xconnect ppc hw -cable type xilinx_svffile fname foo.svf
E2 ERROR: 
	Could not find a supported debug device on the board. Check if the jumper settings on the board are correct

 I tried genace with the follwoing opt-file:

-board user
-jtag_fpga_position 1
-configdevice devicenr 1 irlength 10 idcode 0x63276093 partname xc5vfx30t 
-debugdevice  devicenr 1 cpunr 1
-hw fpga.bit
-elf linux.elf
-target ppc_hw
-ace foo.ace

 I get the error:

xmd -tcl genace.tcl -opt genace.opt 
Xilinx Microprocessor Debugger (XMD) Engine
Xilinx EDK 14.6 Build EDK_P.68d
Copyright (c) 1995-2012 Xilinx, Inc.  All rights reserved.
Executing user script : genace.tcl

#######################################################################
XMD GenACE utility. Generate SystemACE File from bit/elf/data Files
#######################################################################
Parsing genace option: -opt genace.opt
Parsing genace option file ...
Using GenACE option file : genace.opt
jtag_fpga_pos is 1
Error: Executable linux.elf does not contain start address..

Error: 

 My file is fine, direct downloading to the board works:

xmd -tcl load.tcl 
Xilinx Microprocessor Debugger (XMD) Engine
Xilinx EDK 14.6 Build EDK_P.68d
Copyright (c) 1995-2012 Xilinx, Inc.  All rights reserved.
Executing user script : load.tcl
Connect
download
Downloading Program -- linux.elf
	section, .text: 0x00500000-0x00508c0f
	section, .data: 0x00509000-0x0050ab57
	section, .got: 0x0050ab58-0x0050ab63
	section, __builtin_cmdline: 0x0050ab64-0x0050ad63
	section, .kernel:dtb: 0x0050ad68-0x0050cee0
	section, .kernel:vmlinux.strip: 0x0050d000-0x0070a938
	section, .kernel:initrd: 0x0070b000-0x008431cf
	section, .bss: 0x00844000-0x00850ddb
Download Progress....10...20....30...40...50....60...70...80....90...Done
Setting PC with Program Start Address 0x00500000
Processor started. Type "stop" to stop processor

 

What am I doing wrong here?

 

Tags (1)
0 Kudos
1 Reply
Highlighted
885 Views
Registered: ‎03-09-2012

Hi, 3 and-a-half years later, here you go:

In your genace.opt file, add the following:

 

-start_address 0x00500000

 

That value is set in your linker file.  It's part of the last block of output text you pasted above.

0 Kudos