This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
RE: Serial getc problem
- From: "Robert Cragie" <rcc at jennic dot com>
- To: "Daniel Lidsten" <Daniel dot Lidsten at combitechsystems dot com>, <ecos-discuss at sources dot redhat dot com>
- Date: Thu, 4 Jul 2002 18:25:43 +0100
- Subject: RE: [ECOS] Serial getc problem
You need to use a 'proper' serial driver (/dev/tty0 or /dev/tty1), not
/dev/ttydiag. These allow blocking reads which will allow other threads to
run; as you have seen, /dev/ttydiag does a busy wait on a character which
will stop other threads from running. You can configure eCos so that stdio
uses /dev/tty0 or /dev/tty1.
Regards,
Robert Cragie, Design Engineer
Direct: +44 (0) 114 281 4512
________________________________________________________
Jennic Ltd, Furnival Street, Sheffield, S1 4QT, UK
www.jennic.com Tel: +44 (0) 114 281 2655
> -----Original Message-----
> From: ecos-discuss-owner@sources.redhat.com
> [mailto:ecos-discuss-owner@sources.redhat.com]On Behalf Of Daniel
> Lidsten
> Sent: 04 July 2002 17:19
> To: ecos-discuss@sources.redhat.com
> Subject: [ECOS] Serial getc problem
>
>
> Hi,
>
> I am running a MPC850 with a few different threads in the application.
> The network stack is also enabled and up and running. However, when a
> thread calls the HAL_DIAG_READ_CHAR to wait for input from the user then
> my net stack stops working. I cant reach it with a ping from my local
> host.
>
> My first thought was that the application was running with a higher
> priority (lower value) then the net stack but that was not the case. The
> application runs at prio 8 and net at 6 and 7 (background).
>
> I have seen in the serial driver that when reading a char from the port
> then the following is done:
>
> while ( !getc_non_block(..) )
>
> Can the problem be that this code is running in some form of "kernel
> state" i.e. in a very high prio state since the driver lies within eCos?
>
> Regards, Daniel
>
> --
> Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
> and search the list archive: http://sources.redhat.com/ml/ecos-discuss
>
>
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss