This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: FW: Is eCos running any background process?


>     CYG_INTERRUPT_STATE old;
> 
>     HAL_DISABLE_INTERRUPTS(old);
>     // do something uninterruptable
>     HAL_RESTORE_INTERRUPTS(old);
> 
> But unless there's no way to get your DSYNC signal to generate an
> interrupt, or this is just some kluge that will never make it into a
> product anyway, you really ought to consider learning how to use
> interrupts.

Turning off interrupts for a short period of time and polling may be the only
way to guarantee the operation for this application.  We had a somewhat
similar problem a few years back, and we had to disable interrupts during a
critical write to meet timing requirements.

Even if he was running at 180MHz, assuming perfect conditions otherwise and
no external bus accesses, 4.72uSec is only about 850 clock cycles.  That
doesn't leave a ton of overhead for an interrupt driven approach.

--Chris

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]