<div dir="ltr"><br><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><table style="font-family:CALIBRI;letter-spacing:normal;text-indent:0px;text-transform:none;word-spacing:0px;background-color:rgb(255,255,255)" border="0" height="70" width="1"><tbody><tr><td><br></td><td style="font-size:11px;padding:25px 10px 10px" valign="top"><br></td></tr><tr><td colspan="2" style="font-size:12px;font-family:calibri"><br></td></tr></tbody></table></div></div></div>2017-04-19 8:12 GMT+02:00 Thomas Doerfler <span dir="ltr"><<a href="mailto:Thomas.Doerfler@imd-systems.de" target="_blank">Thomas.Doerfler@imd-systems.de</a>></span>:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br></blockquote><div><br></div><div>Hi,<br> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
one short request from me: If you got the solution, please post a sketch<br>
of it here. It is good to have this list as a reference not only for<br>
problems, but also for solutions ;-)<br></blockquote><div><br></div><div>No problem :-). I am still working on it.<br><br></div><div>Regards,<br></div><div> Sergio Paracuellos <br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Kind regards,<br>
<br>
Thomas.<br>
<span class=""><br>
Am 18.04.2017 um 10:54 schrieb Sergio Paracuellos:<br>
><br>
><br>
><br>
><br>
> 2017-04-18 10:15 GMT+02:00 Thomas Doerfler<br>
> <<a href="mailto:thomas.doerfler@embedded-brains.de">thomas.doerfler@embedded-<wbr>brains.de</a><br>
</span>> <mailto:<a href="mailto:thomas.doerfler@embedded-brains.de">thomas.doerfler@<wbr>embedded-brains.de</a>>>:<br>
<span class="">><br>
> Hi,<br>
><br>
><br>
> Hi,<br>
><br>
><br>
> does this link help?<br>
><br>
> <a href="https://forums.xilinx.com/t5/Zynq-All-Programmable-SoC/Zynq-Clear-Pending-SGI/td-p/747038" rel="noreferrer" target="_blank">https://forums.xilinx.com/t5/<wbr>Zynq-All-Programmable-SoC/<wbr>Zynq-Clear-Pending-SGI/td-p/<wbr>747038</a><br>
> <<a href="https://forums.xilinx.com/t5/Zynq-All-Programmable-SoC/Zynq-Clear-Pending-SGI/td-p/747038" rel="noreferrer" target="_blank">https://forums.xilinx.com/t5/<wbr>Zynq-All-Programmable-SoC/<wbr>Zynq-Clear-Pending-SGI/td-p/<wbr>747038</a>><br>
><br>
><br>
><br>
> Of course it helps :) Thank you very much. I am going to check this.<br>
><br>
><br>
><br>
><br>
><br>
> wkr,<br>
><br>
> Thomas.<br>
><br>
><br>
> Cheers,<br>
> Sergio Paracuellos<br>
><br>
><br>
><br>
> Am 18.04.2017 um 10:11 schrieb Sergio Paracuellos:<br>
> ><br>
> ><br>
> ><br>
> ><br>
> ><br>
> > 2017-04-18 9:28 GMT+02:00 Thomas Doerfler<br>
> > <<a href="mailto:thomas.doerfler@embedded-brains.de">thomas.doerfler@embedded-<wbr>brains.de</a><br>
> <mailto:<a href="mailto:thomas.doerfler@embedded-brains.de">thomas.doerfler@<wbr>embedded-brains.de</a>><br>
</span>> > <mailto:<a href="mailto:thomas.doerfler@embedded-brains.de">thomas.doerfler@<wbr>embedded-brains.de</a><br>
<div><div class="h5">> <mailto:<a href="mailto:thomas.doerfler@embedded-brains.de">thomas.doerfler@<wbr>embedded-brains.de</a>>>>:<br>
> ><br>
> > Hi,<br>
> ><br>
> ><br>
> > Hi,<br>
> ><br>
> ><br>
> > what kind of interrupt source do you have? I assume that the<br>
> intterrupt<br>
> > source keeps it interrupt request active, until you have done<br>
> something<br>
> > in the interrupt source registers that makes the interrupt<br>
> inactive<br>
> > again.<br>
> ><br>
> ><br>
> ><br>
> > The interrupt is a Software Generated Interrupt one which uses<br>
> SGI0 HW IRQ.<br>
> ><br>
> > The interrupt pending bit for the vector is being cleared in<br>
> > bsp_interrupt_dispatch() routine for the arm's based bsp's.<br>
> ><br>
> > It should be enough to get this working, but it seems it is not.<br>
> > Something that I have to keep in mind?<br>
> ><br>
> ><br>
> ><br>
> > Example: If you interrupt source is a UART receiver, the interrupt<br>
> > request usually stays active until you have pulled all the<br>
> received UART<br>
> > bytes from the UART receive data register...<br>
> ><br>
> > wkr,<br>
> ><br>
> > Thomas.<br>
> ><br>
> ><br>
> > Cheers,<br>
> > Sergio Paracuellos<br>
> ><br>
> ><br>
> ><br>
> > Am 18.04.2017 um 09:24 schrieb Sergio Paracuellos:<br>
> > > Hi all,<br>
> > ><br>
> > > I am trying to exec some code over xilinx-zynq zedboard. The<br>
> code<br>
> > tries<br>
> > > to make use of interrupts. I am installing the interrupt routine<br>
> > for the<br>
> > > interrupt vector using rtems_interrupt_handler_<wbr>install routine<br>
> > which is<br>
> > > seems the correct one for this board. When the interrupt is<br>
> > trigered the<br>
> > > handler is correctly called but it becomes in a infinite<br>
> loop status<br>
> > > when the interrupt is being handled. So is obvious that i am<br>
> doing<br>
> > > something wrong. The pseudo code for this is like the following:<br>
> > ><br>
> > > #include <bsp.h><br>
> > > #include <stdlib.h><br>
> > > #include <rtems/irq.h><br>
> > > #include <rtems/irq-extension.h><br>
> > ><br>
> > > #define MAX_NUMBER_OF_MESSAGES 5<br>
> > ><br>
> > > #define INTERRUPT_VECTOR_NUMBER 100<br>
> > ><br>
> > > volatile int seq;<br>
> > ><br>
> > > void MyInterruptHandler(void *arg)<br>
> > > {<br>
> > > puts("Interrupt handler called\n");<br>
> > > seq++;<br>
> > > }<br>
> > ><br>
> > > rtems_task Init(rtems_task_argument argument)<br>
> > > {<br>
> > > rtems_status_code sc;<br>
> > ><br>
> > > sc = rtems_interrupt_handler_<wbr>install(<br>
> > > INTERRUPT_VECTOR_NUMBER,<br>
> > > "MY_INTERRUPT",<br>
> > > RTEMS_INTERRUPT_UNIQUE,<br>
> > > (rtems_interrupt_handler)<br>
> > MyInterruptHandler,<br>
> > > NULL<br>
> > > );<br>
> > ><br>
> > > if (sc != RTEMS_SUCCESSFUL)<br>
> > > {<br>
> > > puts("MyInterruptHandler -><br>
> > rtems_interrupt_handler_<wbr>install()<br>
> > > error: %d\n", sc);<br>
> > > exit(-1);<br>
> > > }<br>
> > ><br>
> > > puts("Waiting for messages...\n");<br>
> > ><br>
> > > /* wait for five interrupts to be triggered */<br>
> > > while (1)<br>
> > > {<br>
> > > if (seq == MAX_NUMBER_OF_MESSAGES)<br>
> > > break;<br>
> > > }<br>
> > ><br>
> > > puts("Max number of messages retrieved\n");<br>
> > > exit(0);<br>
> > > }<br>
> > ><br>
> > > The result is:<br>
> > ><br>
> > > Waiting for messages...<br>
> > ><br>
> > > Interrupt handler called<br>
> > > Interrupt handler called<br>
> > > Interrupt handler called<br>
> > > Interrupt handler called<br>
> > > Interrupt handler called<br>
> > > Interrupt handler called<br>
> > > Interrupt handler called<br>
> > > ....<br>
> > ><br>
> > > Enters in a infinite loop calling the interrupt handler....<br>
> > ><br>
> > > This similar code runs for me in other OS, so i am a little<br>
> lost.<br>
> > Also,<br>
> > > I couldn't find any example of using interrupts for zedboard.<br>
> > ><br>
> > > What is missing in this code?<br>
> > ><br>
> > > Thanks in advance,<br>
> > ><br>
> > > Cheers,<br>
> > > Sergio Paracuellos<br>
> > ><br>
> > ><br>
> > ><br>
> > ><br>
> > ><br>
> > > ______________________________<wbr>_________________<br>
> > > users mailing list<br>
> > > <a href="mailto:users@rtems.org">users@rtems.org</a> <mailto:<a href="mailto:users@rtems.org">users@rtems.org</a>><br>
</div></div>> <mailto:<a href="mailto:users@rtems.org">users@rtems.org</a> <mailto:<a href="mailto:users@rtems.org">users@rtems.org</a>>><br>
<span class="">> > > <a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/<wbr>mailman/listinfo/users</a><br>
> <<a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/<wbr>mailman/listinfo/users</a>><br>
> > <<a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/<wbr>mailman/listinfo/users</a><br>
> <<a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/<wbr>mailman/listinfo/users</a>>><br>
> > ><br>
> ><br>
> > --<br>
> > ------------------------------<wbr>--------------<br>
> > embedded brains GmbH<br>
> > Thomas Doerfler<br>
> > Dornierstr. 4<br>
> > D-82178 Puchheim<br>
> > Germany<br>
> > email: <a href="mailto:Thomas.Doerfler@embedded-brains.de">Thomas.Doerfler@embedded-<wbr>brains.de</a><br>
> <mailto:<a href="mailto:Thomas.Doerfler@embedded-brains.de">Thomas.Doerfler@<wbr>embedded-brains.de</a>><br>
</span>> > <mailto:<a href="mailto:Thomas.Doerfler@embedded-brains.de">Thomas.Doerfler@<wbr>embedded-brains.de</a><br>
<span class="">> <mailto:<a href="mailto:Thomas.Doerfler@embedded-brains.de">Thomas.Doerfler@<wbr>embedded-brains.de</a>>><br>
> > Phone: <a href="tel:%2B49-89-18%2094%20741-12" value="+4989189474112">+49-89-18 94 741-12</a> <tel:%2B49-89-18%2094%20741-<wbr>12><br>
> <tel:%2B49-89-18%2094%20741-<wbr>12><br>
> > Fax: <a href="tel:%2B49-89-18%2094%20741-09" value="+4989189474109">+49-89-18 94 741-09</a> <tel:%2B49-89-18%2094%20741-<wbr>09><br>
> <tel:%2B49-89-18%2094%20741-<wbr>09><br>
> > PGP: Public key available on request.<br>
> ><br>
> > Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.<br>
> > ______________________________<wbr>_________________<br>
> > users mailing list<br>
> > <a href="mailto:users@rtems.org">users@rtems.org</a> <mailto:<a href="mailto:users@rtems.org">users@rtems.org</a>><br>
</span>> <mailto:<a href="mailto:users@rtems.org">users@rtems.org</a> <mailto:<a href="mailto:users@rtems.org">users@rtems.org</a>>><br>
<span class="">> > <a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/<wbr>mailman/listinfo/users</a><br>
> <<a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/<wbr>mailman/listinfo/users</a>><br>
> > <<a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/<wbr>mailman/listinfo/users</a><br>
> <<a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/<wbr>mailman/listinfo/users</a>>><br>
> ><br>
> ><br>
><br>
> --<br>
> ------------------------------<wbr>--------------<br>
> embedded brains GmbH<br>
> Thomas Doerfler<br>
> Dornierstr. 4<br>
> D-82178 Puchheim<br>
> Germany<br>
> email: <a href="mailto:Thomas.Doerfler@embedded-brains.de">Thomas.Doerfler@embedded-<wbr>brains.de</a><br>
> <mailto:<a href="mailto:Thomas.Doerfler@embedded-brains.de">Thomas.Doerfler@<wbr>embedded-brains.de</a>><br>
> Phone: <a href="tel:%2B49-89-18%2094%20741-12" value="+4989189474112">+49-89-18 94 741-12</a> <tel:%2B49-89-18%2094%20741-<wbr>12><br>
> Fax: <a href="tel:%2B49-89-18%2094%20741-09" value="+4989189474109">+49-89-18 94 741-09</a> <tel:%2B49-89-18%2094%20741-<wbr>09><br>
> PGP: Public key available on request.<br>
><br>
> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.<br>
><br>
><br>
><br>
><br>
> ______________________________<wbr>_________________<br>
> users mailing list<br>
> <a href="mailto:users@rtems.org">users@rtems.org</a><br>
</span>> <a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/<wbr>mailman/listinfo/users</a><br>
><br>
<br>
--<br>
IMD Ingenieurbuero fuer Microcomputertechnik<br>
Thomas Doerfler Herbststrasse 8<br>
D-82178 Puchheim Germany<br>
email: <a href="mailto:Thomas.Doerfler@imd-systems.de">Thomas.Doerfler@imd-systems.de</a><br>
PGP public key available on request<br>
<span class="">______________________________<wbr>_________________<br>
users mailing list<br>
<a href="mailto:users@rtems.org">users@rtems.org</a><br>
</span><a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/<wbr>mailman/listinfo/users</a><br>
</blockquote></div><br></div></div>