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!

VCU module driver debug problem of Zynq Ultrascale+(ZCU106) ‎

We encountered a problem when we encoder one frame by VCU module,which needs your help.The attachement file error1.png and error2.png were the wrong test results in our hand,and it could be easily reproduced during our debug.We never got the correct test result which shows in the correct.png.

Our test procedure as the following shows:

When we passed the address(which may need to refer the MCU_CACHE_OFFSET(0x80000000)) to MCU by mail,and the response from MCU was not correct.As we do not have any access to get the VCU firmware source code,we do not know how to process the MCU_CACHE_OFFSET address.

If it is convenient to you,could you please kindly share some information to us about how to understand the MCU virtual addr work flow.Could you please help us to locate the problem?

If you can share any docs about the VCU firmware software design,i think it may help us to solve the problem asap.

Re: VCU module driver debug problem of Zynq Ultrascale+(ZCU106) ‎

The VCU Driver is developed and tested for the A53 based platform in Zynq UltraScale+ MPSoC. Based on your reply it appears that you are trying to port VCU driver and stack to Host machine. Because the VCU firmware is only accessible form the APIs documented in PG252, we recommend that you look at developing some wrap APIs (plugins) on top of the driver and call these plugins functions in host based application. In this kind of architecture, VCU software stack will run on the A53 and you will able to handle VCU from plugins which get called on host machine.

---------------------------------------------------------------------------Don’t forget to Reply, Kudo, and Accept as Solution.---------------------------------------------------------------------------

---------------------------------------------------------------------------Don’t forget to Reply, Kudo, and Accept as Solution.---------------------------------------------------------------------------

Re: VCU module driver debug problem of Zynq Ultrascale+(ZCU106) ‎

Our application development environment is that we refer to the xilinx-zcu106-2017.4 hardware project,extract VCU、XDMA and PL_DDR on vivado,and then compile it into a bit.After that we burn the bit on the zcu106 board,which inserted to the X86 system PCIe slot.Our source codes are the following shows:1.the XDMA driver from https://www.xilinx.com/support/answers/65444.html website,and the Xilinx_Answer_65444_Linux_Files.zip is what we're using.2.And we combine the petalinux created project file "xilinx-zcu106-2017.4/build/tmp/work-shared/plnx_aarch64/kernel-source/drivers/misc/xlnx_vcu.c" and the 2017.4 vcu-modules source code to build the VCU driver.3.The vcu-firmware and vcu-ctrl-sw version are also the 2017.4.

Currently,the XDMA and VCU driver could be loaded correctly,VCU driver which runs in X86 system and also could receive the interrupts and mails from VCU firmware.Even though,when we used the vcu-ctl-sw application to encode one frame,the encoded stream was not correct.In order to locate the problem,we also did the following tests:1.We use the same vcu-ctrl-sw code and same code params to encode one frame in ZCU106 embedded system,the encode result is correct,which could verify that the vcu-ctl-sw and encode params are correct.The encoder params:

As the vcu encode is controled by internal vcu firmware,and the workflow of VCU firmware is a black box for us,which may cause the VCU drive integration not very smoothly.So if it is convenient to you,could we have a way to debug the internal VCU firmware?Any documents for VCU firmware will be appreciated.

Re: VCU module driver debug problem of Zynq Ultrascale+(ZCU106) ‎

The VCU Driver is developed and tested for the A53 based platform in Zynq UltraScale+ MPSoC. Based on your reply it appears that you are trying to port VCU driver and stack to Host machine. Because the VCU firmware is only accessible form the APIs documented in PG252, we recommend that you look at developing some wrap APIs (plugins) on top of the driver and call these plugins functions in host based application. In this kind of architecture, VCU software stack will run on the A53 and you will able to handle VCU from plugins which get called on host machine.

---------------------------------------------------------------------------Don’t forget to Reply, Kudo, and Accept as Solution.---------------------------------------------------------------------------

Re: VCU module driver debug problem of Zynq Ultrascale+(ZCU106) ‎

Yes,our application is in the X86 Host machine.As we know the VCU firmware has some limitations for user to access,our debug test are all follow the PG252 document.Even though,we still have some problems which need your guys to help us.And we're already push the problem to our PM department guys.Hope we can get a conference call soon.