This is the mail archive of the ecos-discuss@sources.redhat.com 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: Timecritical interrupt-debuging ... printf in DSR's ... Cyg_Scheduler_Implementation::rem_thread() ... cyg_assert_fail()



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

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?

Greatings Oli


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