This is the mail archive of the
ecos-devel@sourceware.org
mailing list for the eCos project.
Re: Question to 16x5x driver users
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Guennadi Liakhovetski wrote:
> On Mon, 18 Jun 2007, Alexander Aganichev wrote:
>
>> I found that driver not transmit anything in interrupt driving mode
>> unless I made the following patch:
>>
>> Index: packages/devs/serial/generic/16x5x/current/src/ser_16x5x.c
>> ===================================================================
>> RCS file:
>> /cvs/ecos/ecos/packages/devs/serial/generic/16x5x/current/src/ser_16x5x.c,v
>> retrieving revision 1.14
>> diff -u -r1.14 ser_16x5x.c
>> --- packages/devs/serial/generic/16x5x/current/src/ser_16x5x.c 27 Nov
>> 2006 13:59:50 -0000 1.14
>> +++ packages/devs/serial/generic/16x5x/current/src/ser_16x5x.c 18 Jun
>> 2007 12:21:30 -0000
>> @@ -516,6 +516,7 @@
>> HAL_READ_UINT8(base+REG_ier, _ier);
>> _ier |= IER_XMT; // Enable xmit interrupt
>> HAL_WRITE_UINT8(base+REG_ier, _ier);
>> + (chan->callbacks->xmt_char)(chan); // <<<<<<
>> }
>>
>> // Disable the transmitter on the device
>>
>> Am I right to make this change or I just missed another process that
>> should call xmt_char? I'm using LPC2294 based board and use this
>> driver for the UART1.
>
> It looks like eCos uses the usual UART sending procedure - enable tx-empty
> (IER_XMT) interrupt and return, then the interrupt should trigger as soon
> as tx is empty / tx fifo can take more data, and you write more data in
> your interrupt handler to the port. The fact it doesn't work for you means
> most probably that you're not getting tx-empty interrupts, and, perhaps,
> no UART interrupts at all.
In my experience, this [incorrect] behaviour is not all that
uncommon. I think that a CDL controlled option to enable this
initial "push" (although I'd call it 'priming') is the correct
fix.
Alexander, please provide a proper patch, along with ChangeLog
entry to ecos-patches@ecos.sourceware.org. We'll review and
apply as appropriate.
- --
- ------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
- ------------------------------------------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org
iD8DBQFGd70vmaKbSsQGV8ARAqFQAJ0dpBdJMlwo04vgESqSK+W6dNW1yACdFhjf
hBhKas2iXs6VTrU69HNeqtw=
=7V3c
-----END PGP SIGNATURE-----