<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>