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: 
Highlighted
Visitor matbudd_arch
Visitor
804 Views
Registered: ‎07-18-2018

Petalinux kernel start hangs after adding uartlite

 

Hi,

 

I have a working Petalinux build with both UART0 and UART1 on the PS enabled, on a Zedboard.

I need another UART, so I added a uartlite to the block diagram and regenerated the hardware description to pass into Petalinux. I am using information on the driver page http://www.wiki.xilinx.com/Uartlite+Driver. Petalinux appears to build correctly, but when the board tries to boot it simply hangs at "Starting kernel ..."

 

I have tried both SSH and checked the pins of all the other serial outputs, but can't get anything out of it. It seems to me like the kernel has simply failed to start. Is there some step I'm missing to get it to properly load the uartlite driver and start the kernel?

 

Vivado suite and Petalinux versions are both 2017.4

0 Kudos
6 Replies
Moderator
Moderator
767 Views
Registered: ‎09-12-2007

Re: Petalinux kernel start hangs after adding uartlite

Can you show your bootargs used in the DT?

0 Kudos
Visitor matbudd_arch
Visitor
761 Views
Registered: ‎07-18-2018

Re: Petalinux kernel start hangs after adding uartlite

I found 3 device tree files in the plnx_workspace/device-tree/device-tree-generation directory which mention chosen {}. Here are the relevant lines:

 

In device_tree_generation/plnx_arm-system.dts:

 

chosen {
bootargs = "console=ttyPS0,115200 root=/dev/mmcblk0p2 rw rootwait";
stdout-path = "serial0:115200n8";
};

 

In device_tree_generation/system-conf.dtsi:

 

chosen {
bootargs = "console=ttyPS0,115200 root=/dev/mmcblk0p2 rw rootwait";
stdout-path = "serial0:115200n8";
};

 

In device-tree-generation/sytem-top.dts:

 

chosen {
bootargs = "earlycon";
stdout-path = "serial0:115200n8";
};

0 Kudos
Scholar vanmierlo
Scholar
742 Views
Registered: ‎06-10-2008

Re: Petalinux kernel start hangs after adding uartlite

Did you update both the device tree and the bitstream in BOOT.BIN? It sounds like you forgot the bitstream. This makes the kernel load the driver which tries to contact a then non-existing device on the AXI bus. And there is no timeout on the AXI bus.

0 Kudos
Visitor matbudd_arch
Visitor
716 Views
Registered: ‎07-18-2018

Re: Petalinux kernel start hangs after adding uartlite

 

I certainly attempted to update the bitstream as well and it appeared to be the correct one generated by Vivado.

After several unsuccessful attempts I simply replaced the uartlite with a uart16550. The kernel was then successful in booting and automatically instantiated a serial port for it in /dev/.

 

Thanks for your help!

0 Kudos
71 Views
Registered: ‎01-09-2019

Re: Petalinux kernel start hangs after adding uartlite

I am using petalinux 2018.2 and facing same problem. It is working fine with single Uartlite.  If you add more then leads starting  kernel issue.  Did you able to solve it? 

I have added Max. No of serial port settings  to 16  while petalinux kernel  configuration  time. 

 

Anybody solved this issue.  Thanks in advance. 

 

 

0 Kudos
Scholar vanmierlo
Scholar
41 Views
Registered: ‎06-10-2008

Re: Petalinux kernel start hangs after adding uartlite

How are the interrupts connected? Have you checked the device-tree that the interrupts are there as well?

0 Kudos