Interrupt server on BBB

Martin Galvan martin.galvan at tallertechnologies.com
Mon Jul 13 18:38:05 UTC 2015


Actually, it seems like the issue is what Ragunath described here:

https://lists.rtems.org/pipermail/devel/2015-May/011419.html

It looks like the Beagle bsp_interrupt_dispatch function isn't
designed to work with the interrupt server task. From what I saw, this
is the only board where bsp_interrupt_dispatch actually enables the
interrupt vectors.

So far we've been able to solve this by hacking around with mutexes.
However, in the above thread Sebastian suggested that we may need to
disable nested interrupts altogether. I'll investigate a bit further
to see if we could instead just remove the interrupt vector
disabling/enabling from bsp_interrupt_dispatch.

On Mon, Jul 13, 2015 at 12:37 PM, Gedare Bloom <gedare at gwu.edu> wrote:
> Since you run the server task at priority 1, if it does not work
> correctly then it can be causing a non-responsive system.
>
> Do you reach the USB1HostIntHandler function? What does it do?
>
> -Gedare
>
> On Fri, Jul 10, 2015 at 5:33 PM, Martin Galvan
> <martin.galvan at tallertechnologies.com> wrote:
>> Hi everyone! I'm currently trying to use an interrupt server task for
>> handling USB interrupts on the Beaglebone Black. Here's the code I'm
>> using:
>>
>> rtems_interrupt_server_initialize(1, 1500, RTEMS_TIMESLICE | RTEMS_PREEMPT,
>>     RTEMS_DEFAULT_ATTRIBUTES, NULL);
>>
>> rtems_interrupt_server_handler_install(NULL, AM335X_INT_USB1, "USB_interrupt",
>>     RTEMS_INTERRUPT_UNIQUE,
>>     reinterpret_cast<rtems_interrupt_handler>(USB1HostIntHandler), NULL);
>>
>> I checked the return codes of both functions and it's always
>> RTEMS_SUCCESSFUL. At the same time I have a separate thread which is
>> constantly doing a printk for debugging purposes.
>>
>> Right now what happens is that the printk thread runs about 10-15
>> times and then the system hangs in the middle of the print. Am I doing
>> something wrong?
>>
>> Thanks a lot!
>>
>> --
>>
>> Martin Galvan
>>
>> Software Engineer
>>
>> Taller Technologies Argentina
>>
>> San Lorenzo 47, 3rd Floor, Office 5
>>
>> Córdoba, Argentina
>>
>> Phone: 54 351 4217888 / +54 351 4218211
>> _______________________________________________
>> devel mailing list
>> devel at rtems.org
>> http://lists.rtems.org/mailman/listinfo/devel



-- 


Martin Galvan

Software Engineer

Taller Technologies Argentina


San Lorenzo 47, 3rd Floor, Office 5

Córdoba, Argentina

Phone: 54 351 4217888 / +54 351 4218211



More information about the devel mailing list