cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Observer
Observer
361 Views
Registered: ‎02-04-2018

MPSoC UART and Chipscope

Jump to solution

I'm using the ZCU111 board with Vivado/Petalinux 2018.3.  I have the Linux up and running with a serial port terminal through the PS UART (MIO18,19).  I want to use the serial port terminal with Chipscope at the same time.  It appears that as soon as I open Hardware Manager in Vivado and connect to the board, the terminal window stops working.  It happens with Tera Term on Windows or Minicom on Linux.  There is only one USB-UART cable on the ZCU111 board.  Is the Vivado JTAG somehow locking out the UART?  I really hope there is a way to make this work.  Thank you.

Tags (3)
0 Kudos
1 Solution

Accepted Solutions
Highlighted
Moderator
Moderator
295 Views
Registered: ‎02-09-2017

Hi @cyrfdsp,

 

I researched this internally and it seems like there some modifications that need to be done in the boot image to avoid the conflict when using the UART and JTAG at the same time.

You can do either of the two options below:

1) At run time:

  • Create a basic zcu111 petalinux image
  • Boot from SD card and stop at UBOOT prompt, running the following commands:

 

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

 

  • Confirm that UART is working
  • Connect to device via Hardware Manager
  • Confirm both UART and JTAG are working.

 

2) Disable from the kernel config (CONFIG_CPU_IDLE) using PetaLinux:

$ petalinux-config -c kernel
CPU Power Management --->
  -> CPU Idle --->
        [ ] CPU idle PM support #make sure this is unchecked

Clean and rebuild kernel using Petalinux commands.

$ petalinux-build -c kernel -x cleansstate
$ petalinux-build -c kernel

 

Could you please try one of these two options and let us know if it works for you?

Thank you,

Andre Guerrero

Product Applications Engineer

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

View solution in original post

0 Kudos
2 Replies
Highlighted
Moderator
Moderator
296 Views
Registered: ‎02-09-2017

Hi @cyrfdsp,

 

I researched this internally and it seems like there some modifications that need to be done in the boot image to avoid the conflict when using the UART and JTAG at the same time.

You can do either of the two options below:

1) At run time:

  • Create a basic zcu111 petalinux image
  • Boot from SD card and stop at UBOOT prompt, running the following commands:

 

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

 

  • Confirm that UART is working
  • Connect to device via Hardware Manager
  • Confirm both UART and JTAG are working.

 

2) Disable from the kernel config (CONFIG_CPU_IDLE) using PetaLinux:

$ petalinux-config -c kernel
CPU Power Management --->
  -> CPU Idle --->
        [ ] CPU idle PM support #make sure this is unchecked

Clean and rebuild kernel using Petalinux commands.

$ petalinux-build -c kernel -x cleansstate
$ petalinux-build -c kernel

 

Could you please try one of these two options and let us know if it works for you?

Thank you,

Andre Guerrero

Product Applications Engineer

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

View solution in original post

0 Kudos
Highlighted
Observer
Observer
251 Views
Registered: ‎02-04-2018

I tried solution #2 and it works. Thank you.

I did not try #1 because it seems like a lot of trouble to have to interrupt the U-Boot process and modify the boot arguments every time I want to use ChipScope after booting the board.  Couldn't I just put the modified boot arguments into the 'system-user.dtsi' file?  That would make it hard-coded, much like the kernel config solution above.

ChrisY