On Wed, Jan 14, 2009 at 1:20 AM, Chris Zimman <czim...@bloomberg.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 > interfaces. > > --Chris >
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 ? -- Andrew W.