This is the mail archive of the
mailing list for the eCos project.
Re: Serial VS Diagnostic interface
Thanks to all for your help.
Actually, my UART (which is a synthetisable IP eventually), has a
slight modification from the original 16X5X behavior. I have added a
DEFINE in order to declare an extra register and do some extra checks
in the Init and DSR functions.
This is quite an odd situation, because the documentation of the IP is
subject to non disclosure, but the fact that I modified some GPL code
means I should provide my modifications. I have thought of two
solutions: continuing with my old driver so that no GPL applies, or
propose a patch with the modifications without documenting for which
IP vendor it applies, and in which configuration...
How do you guys handle this kind of situation ?
On Wed, Jan 14, 2009 at 4:09 PM, Nick Garnett <email@example.com> wrote:
> "damien millescamps" <firstname.lastname@example.org> writes:
>> On Wed, Jan 14, 2009 at 3:19 PM, Nick Garnett <email@example.com> wrote:
>> > The most common problem with serial devices is not enabling
>> > CYGPKG_IO_SERIAL_DEVICES. Obviously you also have to include the
>> > CYGPKG_IO_SERIAL package too.
>> > Note that AT91 serial devices cannot be shared between diagnostics and
>> > serial drivers. So if you want to continue using diagnostics on a
>> > particular UART, you need to disable it for the drivers.
>> I imagine you mean CYGPKG_IO_SERIAL_<platform> instead of
>> CYGPKG_IO_SERIAL_DEVICES which doesn't exist ?
> No, I really do mean CYGPKG_IO_SERIAL_DEVICES, which is an option in
> the CYGPKG_IO_SERIAL package. It causes the serial devices to be
> enabled. If you cannot see it, then that probably means that
> CYGPKG_IO_SERIAL is not included or enabled.
>> When you say it is not possible to use the Diagnostic interface and
>> the serial drivers, is it just because of the ISR declaration ? If
>> this is the case, I already know how to handle it, or are you talking
>> about another issue ?
> It has more to do with the DMA engines. The PDC is used to overcome
> the UART's lack of FIFOs. Once the drivers are loaded they point the
> DMA engines at their own buffers, not those previously used by the
> diagnostic channel. As a result the diagnostic channel code will no
> longer work.
> Nick Garnett eCos Kernel Architect
> eCosCentric Limited http://www.eCosCentric.com The eCos experts
> Barnwell House, Barnwell Drive, Cambridge, UK. Tel: +44 1223 245571
> Registered in England and Wales: Reg No: 4422071