Author Topic: IRQ problem when more than one "axi_uart16550"  (Read 7766 times)

GuinnessTrinker

  • Active Member
  • *
  • Posts: 38
IRQ problem when more than one "axi_uart16550"
« on: July 12, 2012, 01:55:13 PM »
I do use
"Recommended starting point for EDK-based designs"
http://www.trenz-electronic.de/download/d0/Trenz_Electronic/d1/TE0600-GigaBee_series/d2/TE0600/d3/reference_designs.html

When adding one "axi_uart16550" everything works fine.
When adding more UARTS of this type the Xilinx C-project "peripheral_tests" says that IRQs for all UARTs except _0 dont work.

Whats wrong??


------------------
---Entering main---

 Running IntcSelfTestExample() for microblaze_0_intc...
IntcSelfTestExample PASSED
Intc Interrupt Setup PASSED

Running GpioOutputExample() for LEDs_4Bits...
GpioOutputExample PASSED.

Running UartLiteSelfTestExample() for debug_module...
UartLiteSelfTestExample PASSED

 Runnning SpiSelfTestExample() for axi_spi_0...
SpiSelfTestExample PASSED

 Running Interrupt Test for axi_spi_0...
Spi Interrupt Test PASSED

 Running TmrCtrSelfTestExample() for axi_timer_0...
TmrCtrSelfTestExample PASSED

 Running Interrupt Test  for axi_timer_0...
Timer Interrupt Test PASSED

Running UartNs550SelfTestExample() for axi_uart16550_0...
UartNs550SelfTestExample PASSED

 Running Interrupt Test for axi_uart16550_0...
UartNs550 Interrupt Test PASSED

Running UartNs550SelfTestExample() for axi_uart16550_1...
UartNs550SelfTestExample PASSED

 Running Interrupt Test for axi_uart16550_1...
UartNs550 Interrupt Test FAILED

Running UartNs550SelfTestExample() for axi_uart16550_2...
UartNs550SelfTestExample PASSED

 Running Interrupt Test for axi_uart16550_2...
UartNs550 Interrupt Test FAILED

Running UartNs550SelfTestExample() for axi_uart16550_3...
UartNs550SelfTestExample PASSED

 Running Interrupt Test for axi_uart16550_3...
UartNs550 Interrupt Test FAILED

Running UartNs550SelfTestExample() for axi_uart16550_4...
UartNs550SelfTestExample PASSED

 Running Interrupt Test for axi_uart16550_4...
UartNs550 Interrupt Test FAILED

Running UartNs550SelfTestExample() for axi_uart16550_5...
UartNs550SelfTestExample PASSED

 Running Interrupt Test for axi_uart16550_5...
UartNs550 Interrupt Test FAILED

Running UartNs550SelfTestExample() for axi_uart16550_6...
UartNs550SelfTestExample PASSED

 Running Interrupt Test for axi_uart16550_6...
UartNs550 Interrupt Test FAILED

Running AxiEthernetSgDmaIntrExample() for ETHERNET...
AxiEthernet Interrupt Test PASSED.
---Exiting main---
----------------------------------------------------------------

Antti Lukats

  • Hero Member
  • *****
  • Posts: 542
Re: IRQ problem when more than one "axi_uart16550"
« Reply #1 on: July 12, 2012, 03:10:19 PM »
Hi

do you think the problem is somehow related to TE600 or TE600 reference design?

If you implement the same thing with some other reference design from Xilinx maybe do you get same problem or do you have it working there?

Have you validated that you have all intterupts wired and configured properly?

br,
Antti

GuinnessTrinker

  • Active Member
  • *
  • Posts: 38
Re: IRQ problem when more than one "axi_uart16550"
« Reply #2 on: July 12, 2012, 03:25:53 PM »
do you think the problem is somehow related to TE600 or TE600 reference design?
If you implement the same thing with some other reference design from Xilinx maybe do you get same problem or do you have it working there?
I dont know. I dont have the chance to try another board.

Quote
Have you validated that you have all intterupts wired and configured properly?
Yes. The "Interupt Connection Dialog" shows all interrupts.
Btw. If not connected the peripheral test would not test the interrupt.

Some news:
When using my own application I can transmit datas on more than one UART at the same time.
Receiving is the problem. The event handler reports a receiving interrupt (on second UART), but amount of datas= 0.

Receiving/transmitting on any UART (one at a time) is no problem.

Interrupt controlled receiving + transmitting TCP-packets at the same time as UART-transfers is no problem.

This is a "standalone" app, no Xilkernel.
« Last Edit: July 12, 2012, 03:33:12 PM by GuinnessTrinker »

Antti Lukats

  • Hero Member
  • *****
  • Posts: 542
Re: IRQ problem when more than one "axi_uart16550"
« Reply #3 on: July 12, 2012, 05:07:56 PM »
Have you tried ALL UARTs in polled mode?

Oleksandr Kiyenko

  • Sr. Member
  • ****
  • Posts: 408
Re: IRQ problem when more than one "axi_uart16550"
« Reply #4 on: July 12, 2012, 10:04:15 PM »
Hi
Please post your *.mhs and *.mss files.

Regards
Alex

GuinnessTrinker

  • Active Member
  • *
  • Posts: 38
Re: IRQ problem when more than one "axi_uart16550"
« Reply #5 on: July 13, 2012, 08:07:20 AM »
Please post your *.mhs and *.mss files
Hi Alex,
here we go. There is no *.mss
*.mhs was renamed to *.mhs.txt



Regards,
Klaus

GuinnessTrinker

  • Active Member
  • *
  • Posts: 38
Re: IRQ problem when more than one "axi_uart16550"
« Reply #6 on: July 13, 2012, 09:45:19 AM »
Ok, I managed to get my own application working.
I still dont know why the Xilinx example "peripheral_tests" failes, but this doesnt matter.

From my point of view this issue can be marked as fixed.