Any users of the Termios receive/send callbacks?

Sebastian Huber sebastian.huber at embedded-brains.de
Mon Mar 20 09:47:53 UTC 2017


On 20/03/17 10:38, Pavel Pisa wrote:
> Hello Sebastian,
>
> On Thursday 23 of February 2017 07:51:13 Sebastian Huber wrote:
>> >Hello,
>> >
>> >the RTEMS Termios implementation provides receive and send callbacks:
>> >
>> >https://git.rtems.org/rtems/tree/cpukit/libcsupport/include/rtems/termiosty
>> >pes.h#n41
>> >
>> >There is no API to install these callbacks. They are not used in the
>> >RTEMS code base. Is there someone how uses this stuff? I would like to
>> >change the invocation conditions to use them for the poll(), select()
>> >and kqueue() support.
> it would be great. Would it work with bare RTEMS or libbsd
> would be required? If it can be used without libbsd
> on memory constrained systems then it would be great.

I already checked in the poll() and select() support for Termios in 
libbsd. The poll() and select() functions are a part of libbsd. They use 
the sleep/wakeup support of BSD which in turn uses a hash table of sleep 
queues. This is indeed a problem for memory constrained systems. I think 
with some work it might be possible to provide a low memory footprint 
configuration of libbsd, however, I don't have time/budget for this.

There are some fundamental problems with the RTEMS Termios 
implementation to fully support POSIX Termios, e.g. input processing is 
mostly done by the reading task (e.g. echo). One option is to use the 
Termios support of FreeBSD with the low level drivers of RTEMS to fix this.

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.



More information about the users mailing list