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: 
Observer sunyeming2018
Observer
1,147 Views
Registered: ‎03-08-2018

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

Jump to solution

Hi Xilinx Experts,

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.

Any response will be appreciated.

Thanks.

 

Tags (2)
error1.png
error2.png
correct.png
0 Kudos
1 Solution

Accepted Solutions
Xilinx Employee
Xilinx Employee
1,072 Views
Registered: ‎08-01-2007

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

Jump to solution

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.

Chris
Video Design Hub | Embedded SW Support

---------------------------------------------------------------------------
Don’t forget to Reply, Kudo, and Accept as Solution.
---------------------------------------------------------------------------
4 Replies
Xilinx Employee
Xilinx Employee
1,082 Views
Registered: ‎08-01-2007

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

Jump to solution

In order to debug this we will need more information.

 

  1. What are you using for your testing?
  2. It looks like you are you using the VCU Control Software?
  3. If you are using the VCU Control Software can you provide your cfg file?
  4. Can you provide a copy of your source you are using of encoding?
  5. What are the steps to reproduce this problem?

 

You can find information on the VCU Control Software in PG252 under the VCU Control Software section.  The VCU Contol Software Github also has some information as well.

Chris
Video Design Hub | Embedded SW Support

---------------------------------------------------------------------------
Don’t forget to Reply, Kudo, and Accept as Solution.
---------------------------------------------------------------------------
0 Kudos
Observer sunyeming2018
Observer
1,058 Views
Registered: ‎03-08-2018

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

Jump to solution

Hi Chrisar,
Thanks for your quickly reply.

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:

./AL_Encoder.exe -i 240p.yuv --input-width 320 --input-height 240 --input-format NV12 --framerate 30 --gop-length 30 --gop-numB 0 --num-core 1 --max-picture 1 -o test.hevc
2.We also tested in X86 environment,the NV12 data in PL_DDR was correct,and we could make sure that VCU had already got NV12 data from PL_DDR by vivado ILA debug tools.But the encode result was not correct,which shows in the error1.png and error2.png.

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.

Thanks.

Looking forward to your reply.

 

0 Kudos
Xilinx Employee
Xilinx Employee
1,073 Views
Registered: ‎08-01-2007

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

Jump to solution

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.

Chris
Video Design Hub | Embedded SW Support

---------------------------------------------------------------------------
Don’t forget to Reply, Kudo, and Accept as Solution.
---------------------------------------------------------------------------
Observer sunyeming2018
Observer
980 Views
Registered: ‎03-08-2018

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

Jump to solution

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.

Thanks for your kindly reply.

0 Kudos