rtems_task_resume within ISR
Tobias Schoofs
tobias.schoofs at gmx.net
Thu Oct 16 21:39:25 UTC 2008
I installed the ISR with:
rtems_isr_entry old_catcher;
status = rtems_interrupt_catch(fault, 0, &old_catcher); // use division
by zero for testing
if (status != RTEMS_SUCCESSFUL) {
/* do error stuff */
}
@Till: i386-rtems4.8/pc386
Joel Sherrill wrote:
> Tobias Schoofs wrote:
>
>> Hi,
>>
>> I want an ISR to activate an error handler process on certain faults. I
>> assumed that the following simple code would activate the error handler
>> (which is the process with the highest priority, but normally suspended)
>> AFTER the completion of the ISR:
>>
>> rtems_isr fault(rtems_vector_number vector) {
>> rtems_task_resume(eh_id); // eh_id is the error handler
>> /* do some other stuff */
>> return;
>> }
>>
>> But it seems that the error handler (eh_id) becomes immediately ready
>> and starts execution BEFORE the ISR termates. Is there anything wrong
>> with my code?
>>
>
> Did you install this as an RTEMS ISR or a raw ISR attached
> directly to the hardware vector?
>
>> Thanks,
>>
>> Tobias
>> _______________________________________________
>> rtems-users mailing list
>> rtems-users at rtems.com
>> http://rtems.rtems.org/mailman/listinfo/rtems-users
>>
>
>
>
More information about the users
mailing list