cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
badegoke_f1
Adventurer
Adventurer
391 Views
Registered: ‎06-18-2019

ZCU106 VCU TRD 2020.1: Vcu al5e: Mcu didn't start (no ping after startup, is mcu enabled ?) with 2x AXI-CAN

Hi,

I have basically gone through previous posts regarding vcu mcu failed ping but none seems to fix the issue. I use a zcu106 with with the vcu trd bsp 2020.1. My design is based on the SDI-Rx TRD. I have four SDI video pipelines, four I2S audio Rx/Tx pipelines, VCU(Encoder Only) and an AXI-CAN IP in the PL which all work. 

When I add a second AXI-CAN IP, the Petalinux boot logs show the VCU MCU fails to ping. When this error occurs none of the Video pipelines or CAN IPs work. 

I have tried changing the Vivado address editor assigned addresses(attached) with no luck. I am unsure if there is any TRD address conflicting or Petalinux system memory setting that needs to be changed as my design is larger than the SDI-Rx TRD peripheral assignments.

I have used an AXI-Interrupt controller and made the VCU the highest priority in the concat block but this has not fixed it. Is it possible there is a limit on some PS resource I might be unaware of due to the number of peripherals in the design?

I have attached the boot log and Vivado address assignment. 

Any help or suggestions please.

Thanks

 


AssignedAddresses1.JPG

AssignedAddresses2.JPG

 

0 Kudos
2 Replies
kvasantr
Moderator
Moderator
259 Views
Registered: ‎04-12-2017

Hello @badegoke_f1 

looks like your system is very much loaded. if you run only 1 CAN instance then VCU works fine but the moment you call 2nd CAN instance VCU starves for the system memory access or APU cores are unable to handle the interrupts of VCU. My suspect is this scenario is causing your system to go haywire. 

when you call the 2nd instance have you already checked /proc/interrupts?

what is the load on VCU? I mean resolution and framerate and video format its trying to encode? have you tried smaller resolution and framerate with the 2nd CAN instance?

let us know how it goes with that.

 

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
badegoke_f1
Adventurer
Adventurer
239 Views
Registered: ‎06-18-2019

Many thanks @kvasantr  for responding.

As per your suggestion, The system boots with 2 AXI-CAN IPs in the design but with "mcu failed to ping" error in the start-up boot logs. The video pipelines do not even lock when I check with "media-ctl" command just after boot up when this error occurs. Hence I cannot stream or encode. The design has 4x 1080p50 SDI pipelines and the encoder is configured same.

I am not sure how to call the CAN instances as you mentioned. When I try to exercise the AXI-CAN using "cangen" command I get buffer unavailable error.

- How do I check the VCU load? The mcu firmware isn't responding so I wonder if there is any way to check the load for a vcu not working?

- How do I check and what metrics should I look out for in the /proc/interrupts? 

I am thinking I can run the above checks on a design that works(with just one AXI-CAN IP) to get an indication of any starved or at the limits resource usage. 

Thanks once again

0 Kudos