cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Observer
Observer
1,188 Views
Registered: ‎04-29-2018

Not Able to Debug using Hardware Manager in ZCU102 revision 1.1 board while executing elf

Hi,

 

 I am booting using SD card. My sd card has 4 files - boot.bin, elf file, universal bootloader and Input file.

I want to debug my design  using chipscope.

 

Case 1 : 

When i execute elf without opening hardware manager, it is working well.

 

Case 2 :

When i execute elf after opening hardware manager (for debugging),  execution get stucks.

I have added .ltx files in hardware manager.

 

Do i have to add any other files in sd card while executing?

 

 

0 Kudos
4 Replies
Highlighted
Moderator
Moderator
1,139 Views
Registered: ‎09-12-2007

0 Kudos
Highlighted
Observer
Observer
1,105 Views
Registered: ‎04-29-2018

Thanks for the help. I am debugging my design on this board first time and I am not sure how and where should I execute the commands given in the shared link.   

 

Now I am able to debug signals using Chipscope.

Now I am opening HW Manager  just before running elf. It seems these sequence of steps are working for me.

 

1) Boot the board with SD card .

2) Open HW manager , and add required signals along with setting of  trigger signals

3) Run elf file.

 

Opening HW manager prior is creating the issue. 
Terminal window get stall/hang If I open HW manager. Terminal wont respond for any commands
 
Other Issue:
After proper execution, to use  "reboot" command, I am closing HW manager and executing "reboot" 
 
Other than ZCU102 boards, I have not seen this issue. could you please help us in this.
0 Kudos
Highlighted
Participant
Participant
918 Views
Registered: ‎12-06-2018

I have this issue as well on both the ZCU102 and ZCU111. If I Open the HW Manager while the board is booted, the serial console will hang and I can no longer ping the radio's IP from the host. If I Open the HW Manager before boot, the boot will not complete, and will hang after something like:

[    5.045674] pca954x 1-0075: registered 8 multiplexed busses for I2C switch pca9548
[    5.053246] cdns-i2c ff030000.i2c: 400 kHz mmio ff030000 irq 25
[    5.108469] mmc0: SDHCI controller on ff170000.sdhci [ff170000.sdhci] using ADMA 64-bit
[    5.123232] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[   26.140451] INFO: rcu_sched self-detected stall on CPU
[   26.144452] INFO: rcu_sched detected stalls on CPUs/tasks:
[   26.144460]  2-...: (5250 ticks this GP) idle=826/140000000000001/0 softirq=177/177 fqs=2588 
[   26.144461]  (detected by 0, t=5252 jiffies, g=-233, c=-234, q=45)
[   26.144466] Task dump for CPU 2:
[   26.144468] swapper/0       R  running task        0     1      0 0x00000002
[   26.144473] Call trace:
[   26.144484] [<ffffff8008085878>] __switch_to+0x98/0xb0
[   26.144487] [<0000000000000001>] 0x1
[   26.186997]  2-...: (5250 ticks this GP) idle=826/140000000000001/0 softirq=177/177 fqs=2593 
[   26.195503]   (t=5264 jiffies g=-233 c=-234 q=45)
[   26.200188] Task dump for CPU 2:
[   26.203399] swapper/0       R  running task        0     1      0 0x00000002
[   26.210431] Call trace:
[   26.212864] [<ffffff8008088c58>] dump_backtrace+0x0/0x368
[   26.218246] [<ffffff8008088fd4>] show_stack+0x14/0x20
[   26.223281] [<ffffff80080c1eb0>] sched_show_task+0x140/0x170
[   26.228922] [<ffffff80080c29b8>] dump_cpu_task+0x40/0x50
[   26.234218] [<ffffff80080ec5c8>] rcu_dump_cpu_stacks+0x94/0xd4
[   26.240033] [<ffffff80080ebb94>] rcu_check_callbacks+0x594/0x7d0
[   26.246023] [<ffffff80080effac>] update_process_times+0x2c/0x58
[   26.251926] [<ffffff80080ff208>] tick_sched_handle.isra.5+0x30/0x50
[   26.258174] [<ffffff80080ff268>] tick_sched_timer+0x40/0x90
[   26.263729] [<ffffff80080f0b4c>] __hrtimer_run_queues+0xec/0x168
[   26.269718] [<ffffff80080f0dc0>] hrtimer_interrupt+0xa0/0x220
[   26.275448] [<ffffff8008760a40>] arch_timer_handler_phys+0x28/0x48
[   26.281612] [<ffffff80080e07a8>] handle_percpu_devid_irq+0x80/0x138
[   26.287860] [<ffffff80080dafcc>] generic_handle_irq+0x24/0x38
[   26.293588] [<ffffff80080db67c>] __handle_domain_irq+0x5c/0xb8
[   26.299404] [<ffffff8008081500>] gic_handle_irq+0x68/0xc0
[   26.304784] Exception stack(0xffffff800803bb20 to 0xffffff800803bc60)
[   26.311209] bb20: 0000000000000003 0000000000000003 ffffffc87ffb63f8 0000000000000000
[   26.319023] bb40: 0000000000000003 000000000000000b ffffff8008e59ee8 003d090000000000
[   26.326835] bb60: 0000000000000000 0000000300000000 0000000000000002 7fffffffffffffff
[   26.334647] bb80: 0000000000000005 0000000000061a7c 00003d09000198c8 ffffffffffffffff
[   26.342459] bba0: 0000000000000000 0000000000000001 0000000000000000 ffffffc87ff9ed00
[   26.350271] bbc0: ffffff8008da8bc4 ffffffc87ff9ed08 ffffff8008da8cb0 0000000000000008
[   26.358083] bbe0: 0000000000000001 ffffff80080f03a8 0000000000000000 ffffffc87ff9ed10
[   26.365896] bc00: ffffff8008da8bc4 ffffff800803bc60 ffffff800810464c ffffff800803bc60
[   26.373708] bc20: ffffff8008104684 0000000080000045 ffffffc87ff9ed08 ffffff8008da8cb0
[   26.381520] bc40: ffffffffffffffff ffffff80089ea538 ffffff800803bc60 ffffff8008104684
[   26.389331] [<ffffff80080830f0>] el1_irq+0xb0/0x140
[   26.394190] [<ffffff8008104684>] smp_call_function_many+0x304/0x358
[   26.400440] [<ffffff800810473c>] on_each_cpu+0x34/0x60
[   26.405561] [<ffffff80080f0c14>] clock_was_set+0x1c/0x28
[   26.410857] [<ffffff80080f25e4>] do_settimeofday64+0xd4/0x158
[   26.416587] [<ffffff8008d4618c>] rtc_hctosys+0x88/0xdc
[   26.421706] [<ffffff8008083980>] do_one_initcall+0x38/0x128
[   26.427263] [<ffffff8008d20cc4>] kernel_init_freeable+0x138/0x1d8
[   26.433339] [<ffffff80089fccc8>] kernel_init+0x10/0x100
[   26.438546] [<ffffff8008084a90>] ret_from_fork+0x10/0x18

The output before it hangs during boot changes from one boot to the next. The solutions at https://www.xilinx.com/support/answers/69143.html did not change this behavior.

0 Kudos
Highlighted
Participant
Participant
860 Views
Registered: ‎12-06-2018

I was trying solution #1 from https://www.xilinx.com/support/answers/69143.html:

ZynqMP> setenv bootargs 'console=ttyPS0,115200n8 earlycon clk_ignore_unused cpuidle.off=1'
ZynqMP> run bootcmd

This was not working for me, but when I tried solution #2, I was able to disable the kernel config (CONFIG_CPU_IDLE) using Yocto:

$ bitbake -c menuconfig virtual/kernel
CPU Power Management --->
  -> CPU Idle --->
        [ ] CPU idle PM support

After making this change, I ran the following to generate a new SD card image:

bitbake -c compile virtual/kernel -f
bitbake <your-choice-image>

I then rewrote the SD card and am now able to debug the ZCU111 via JTAG/Logic-Analyzers (i.e. linux does not crash/hang/fail-to-boot when the Vivado Hardware Manager is opened).

0 Kudos