This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: Timecritical interrupt-debuging ... printf in DSR's ... Cyg_Scheduler_Implementation::rem_thread() ... cyg_assert_fail()
On Tue, Jul 05, 2005 at 11:43:20AM +0200, oliver munz @ s p e a g wrote:
>
> ----- Original Message -----
> From: "Andrew Lunn" <andrew@lunn.ch>
> To: "Fabian Scheler" <fabian.scheler@gmail.com>
> Cc: "Oliver Munz" <oli@snr.ch>; <ecos-discuss@sources.redhat.com>
> Sent: Tuesday, July 05, 2005 9:27 AM
> Subject: Re: [ECOS] Timecritical interrupt-debuging ... printf in DSR's ...
> Cyg_Scheduler_Implementation::rem_thread() ... cyg_assert_fail()
>
>
> >On Tue, Jul 05, 2005 at 09:16:44AM +0200, Fabian Scheler wrote:
> >>Hi,
> >>
> >>> I don't know if it's allowed to use the buffered IO from ISR and DSR's.
> >>> If
> >>> everybody know's if it should work or not in threory, let me know....
> >>> Im
> >>> also intressted in other hints how to debug driveres...
> >>
> >>well, I don't know the exact implementation of buffered IO in eCos,
> >>but buffered IO always is blocking (if you want to ensure that no data
> >>gets lost), and blokcing operations are never allowed within an ISR or
> >>a DSR.
> >
> >Correct.
> >
> >You can use the infrastructure trace functions and instramentation
> >functions which are safe when writting to a buffer. Or you can
> >implement your own buffering which is ISR/DSR safe.
> >
> > Andrew
>
> Thanks a lot...
>
> Then I can try the option "CYGOPT_IO_SERIAL_SUPPORT_NONBLOCKING" (and hope
> there rise no other problems)...
Nope, this will not help. Thats a different meaning of none blocking.
> If I use the "CYG_TRACE0(bool, msg)" function family, then I have to use
> "CYG_TRACE_PRINT()" if I want control over the timing, because
> "CYG_TRACE_PRINT()" blocks until the hole trace-buffer ist written to
> diag_write(). Right?
Correct.
Andrew
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss