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
Contributor
Contributor
6,332 Views
Registered: ‎10-06-2013

Program in SDK is not executing completely, most probably due to inadequate stack,heap size or improper linker script for Zedboard for matrix multiplication following Xapp1170

Jump to solution

Hello,
 On ZedBoard I am doing one task, i.e. matrix multiplication for unequal dimension or say, rectangular matrices. My task is to design one Hardware Accelerator on PL of Zedboard. On ARM processor, I will execute one C prog in SDK, where it will call the Hardware Accelerator as well as it will do the same matrix multiplication on the software subject to ARM itself. Then it will compare the performance between Hardware Accelerator and Processor. I am following Xapp1170 with some modifications done on it, like I will multiply rectangular matrices of large dimension, say 1 x 1665 and 1665 x 9
 Now I have generated PCore for the Accelerator of mtarix multiplication using Vivado HLS and checked that the PCore is okay by doing C/RTL Co-simulation. 

Then in PlanAhead, XPS I did necessary connection between PS and PL and created the embedded source. After that, I will go to SDK. There I will create one application project where the c-code will call the Accelerator as well as it will do same matrix multiply operation on Processor.
Now in this regard, I am having problem , i.e. program for the required matrix dimensions gets halted and it is not executed completely. I am decerase the matrix dimension then by increasing the heap. stack size or by using appropriate linker script, the program get executed completely. So I think, my main task is to find out the proper linker script or appropriate stack size, heap size or if I have to do any further thing. I tried to track all these by decoing the ELF file. But I could not decode the ELF file properly. Is it possible to get to know the required stck, heap sizes or proper linker script from the ELF filke for my application project? I even don't know whether my program reuires more memory than it is available in Zedboard. Somewhere I found that "dec" section tells about the code size. I stuck to this project for inability to run the code in SDK, maybe due to linker script or stack, heap size mismatch. This is very essential as it is supposed to be used in some humanitarian purposes. So if anyone can help me in this regard, i.e. how to run the complete program in SDK by proper choice of linker script/stack size/ heap size or anything beyond these, I shall be ever grateful to you. I can post ELF details or anything You want to solve this problem. Thank You in advance. I am earnestly looking for your kind and important help.

0 Kudos
1 Solution

Accepted Solutions
Contributor
Contributor
10,750 Views
Registered: ‎10-06-2013

Re: Program in SDK is not executing completely, most probably due to inadequate stack,heap size or improper linker script for Zedboard for matrix multiplication following Xapp1170

Jump to solution

Yes I know how to create linker script. But If I cannot specify my stack and heap size requirement, then how anyone will procede with SDK. Because for small code, we can assign arbitrary amount of stack and heap size and program will get completely executed. But for large code size, there will be issue like what I am facing. Please help anybody

View solution in original post

0 Kudos
2 Replies
Xilinx Employee
Xilinx Employee
6,317 Views
Registered: ‎08-02-2007

Re: Program in SDK is not executing completely, most probably due to inadequate stack,heap size or improper linker script for Zedboard for matrix multiplication following Xapp1170

Jump to solution

Hi,

 

This is how you set the linker script.

http://www.xilinx.com/support/documentation/sw_manuals/xilinx13_1/SDK_Doc/tasks/sdk_t_create_lscript.htm

 

I dont think there is a means to determine the stack/heap of your application.

 

Refer to this AR http://www.xilinx.com/support/answers/16549.html

 

--Hem

----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------
0 Kudos
Contributor
Contributor
10,751 Views
Registered: ‎10-06-2013

Re: Program in SDK is not executing completely, most probably due to inadequate stack,heap size or improper linker script for Zedboard for matrix multiplication following Xapp1170

Jump to solution

Yes I know how to create linker script. But If I cannot specify my stack and heap size requirement, then how anyone will procede with SDK. Because for small code, we can assign arbitrary amount of stack and heap size and program will get completely executed. But for large code size, there will be issue like what I am facing. Please help anybody

View solution in original post

0 Kudos