03-30-2018 07:46 AM
I'm trying to make the example available in SDx/2017.4/samples/rtl/axis_arraycopy and described in Appendix E of UG1027 works on a custom platform based on zcu102_es2_rv_ss available here: http://www.wiki.xilinx.com/reVISION%20Getting%20Started%20Guide%202017.4
I just would like to create a C-callable IP that can be instantiated in my C code and added to the PL during the SDx compilation.
From the template available in SDx/2017.4/samples/rtl/axis_arraycopy here are the modifications I applied in order to compile it for my platform:
1) In ip/create_ip.tcl : update the part:
create_project project_1 -part xczu9eg-ffvb1156-2-i-es2
set_property board_part xilinx.com:zcu102_es2:part0:2.3 [current_project]
2) In src/Makefile : change the compiler:
#arm-none-eabi-ar crs libarraycopy.a arraycopy.o
aarch64-linux-gnu-ar crs libarraycopy.a arraycopy.o
3) In app/Makefile, target my custom platform:
PLATFORM = <custom_repo>/zcu102_es2_rv_ss/zcu102_es2_rv_ss
OS = -target-os linux
Now if I try to copy the content of app/sd_card on an SD card, plug it in the dev board and run the application, I notice that the software stalls during the call to "arraycopy(input,output,N);". It does not crash, it just stalls ...
I tried several things in order to make it work (for instance, add various pragmas in src/arraycopy.hpp to try to change the way SDx connect the IP to the PS but the same problem appears every time ...
Could you please provide suppport or help me figure out a way to make it work ?
04-09-2018 01:30 AM
I'm still facing this issue and I consider migrating the IP into the custom hardware platform.
Nonetheless, it would be nicer to user a C-callable IP ...
Can anyone provide support?
06-20-2018 08:23 PM
It was a known issue that SDx/2017.4/samples/rtl/axis_arraycopy hung on board since the Makefile under "src" directory had an incorrect register offset "4". The correct value should be "0x10".
Please update SDx/2017.4/samples/rtl/axis_arraycopy/src/Makefile as follows:
sdx_pack -func arraycopy -header arraycopy.hpp -ip ../ip/component.xml -control AXI=S_AXI:0 -map input=S_AXIS:in -map output=M_AXIS:out -map count=S_AXI:in:0x10 -target-os standalone
This issue has been fixed since 2018.1.