[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

C++ ctors, cdtest.exe, printf and termios oh my!




On Thu, 5 Aug 1999, Tony R. Ambardar wrote:

> This is what I originally suspected. However, I believe Rosimildo and Erik
> have both successfully run cdtest.exe using interrupt-driven console I/O.
> Hence my confusion...
> 
> Is this true, Erik, Rosimildo?

I may be out on a limb here but they use the video card for output which
is not interrupt driven.  The interrupts are for keyboard input.

Thus I am backing up a bit.  I don't think this is your problem. :(  

This looks like it could be the same problem I am dealing with on the
sparc/erc32.  Thanks to Erik I, I am able to give you the following
advice. :)

You need to have the .init/.fini sections in your linkcmds, bsp_specs must
reference crti, crtn, crtbegin, and crtend, and -DUSE_INIT_FINI must be in
the Makefile.in in the startup directory.

> I haven't looked closely before, so how does one turn on polling for
> general I/O in the x86 BSP's?


> Joel, why don't we just change the printf's in cdtest.exe to printk's and
> not worry about this any more?

printk is a recent addition and AFAIK is only in the i386 BSPs and maybe
not even all of them. 

I would be glad to see printk built on top of the polled IO mode of 
/dev/console.  

Technically, the issue is that printk needs to become shared and we need
to define polled debug support input/output routines.

Comments welcome.

> Another place where polling I/O is required is for the various timing
> tests.  Would using printk in these cases be alright?

If printk were supported in all BSPs, then yes.

>   ____________________________________________________________
>  /                                                            \
> | Tony R. Ambardar         |   Department of Electrical &      |
> | M.Sc., M.Eng.            |   Computer Engineering            | 
> | Email: tonya at ece.ubc.ca  |   University of British Columbia  |
> | Ph: (604) 822-2872       |   2356 Main Mall, Vancouver B.C.  |
> | Fax:(604) 822-5949       |   V6T 1Z4  CANADA                 |
>  \____________________________________________________________/
> 
> On Thu, 5 Aug 1999 joel at OARcorp.com wrote:
> 
> > 
> > You almost answered the question yourself. :)
> > 
> > Your console device driver is interrupt driven.  The constructurs are
> > being run long before interrupts are enabled at the system level -- even
> > before tasking is initiated.  If you run the test with polled console
> > output, it will avoid this problem.  
> > 
> > As has been noted before, most of the RTEMS tests behave best when using
> > polled console IO.
> > 
> > Try it again with polled IO
> > 
> > --joel
>