This is the mail archive of the
mailing list for the eCos project.
Re: Serial VS Diagnostic interface
On Wed, Jan 14, 2009 at 1:20 AM, Chris Zimman <email@example.com> wrote:
>> I am working with eCos on an AT91 platform for several month now, and
>> I have always used the serial port as a diagnostic interface for
>> debugging purpose. However, now I need to use it as a standard serial
>> in order to be able to use the O_NONBLOCK flag but I couldn't find a
>> way to use the 16x55 serial driver instead of the haldiag interface:
>> whatever I do, only the haldiag interface is selected, and removing
>> the haldiag seems to make it impossible to compile.
>> I know I can use the solution consisting in replacing the GETC
>> function with a nonblocking one, and patching whatever function may
>> need blocking calls on it, but I can't imagine there is no way in eCos
>> to select whether my only serial port shall be considered as a
>> diagnostic interface or a _real_ serial port.
>> Any clue will be welcome.
> Make sure you have the hardware serial port drivers compiled in. With that
> you can use "/dev/ser0" etc. instead of "/dev/haldiag" and use non-blocking
Actually as it just inline code. I have already checked it is
correctly included. Maybe I should have been more explicit: Is there
anything to ensure the HW serial driver is correctly initialized ?
Where should pc_serial_lookup() be called in a normal behavior ?
I would have another question then, I have noticed that with GCC 4.2.2
(which is the one I use), the DEVTAB_ENTRY may be removed if the
TABLE_END is declared before adding any additional entry. Is anybody
else having the same issue ?