wiki:TBR/Website/FAQ

Version 13 (modified by ChrisJohns, on Mar 19, 2009 at 3:52:01 AM) (diff)

Add OSI protocols.

FAQ

Some questions are answered in the General Information.

Processor-specific memory sizes of RTEMS elements

<i>For the memory sizes of RTEMS elements inside Chapter 8 of the processor-specific application supplement, are they in bytes or words?</i>

They should be in bytes.

Multiprocessor Communications Interface Layer

<i>The Multiprocessor Communications Interface Layer describes the use of global objects as a means of communication, but does that mean you can use any device (serial port, CANbus, ethernet) to act as the conduit for the MPCI packets ?</i>

Yes. The only provided driver is for shared memory.

Demonstrates of MPCI between two nodes

<i>Can you give an example application that demonstrates the implementation of the MPCI between two nodes ?</i>

The driver portion is in c/src/lib/libchip/shmdr. Each of the mptests is an example.

JAUS message set with the RTEMS OS

<i>Has anyone implemented a JAUS message set with the RTEMS OS ?</i>

Not that I know of but I do know Robert Wade. :)

Select on serial ports

<i>Does RTEMS support select() on serial ports ?</i>

No. However, there is a method to register a call back on serial communications that can be used for the same effect. ioctl( fd, RTEMS_IO_RCVWAKEUP, &wakeup);

Here is a code snippet:

void receive_callback(struct termios *tty, void * arg ) {

(void) rtems_event_send( (rtems_id) arg, EVENT_RS232_RX );

}

To install the callback:

rtems_id task; struct ttywakeup wakeup;

rtems_task_ident( RTEMS_SELF, RTEMS_LOCAL, &task); wakeup.sw_pfn = receive_callback; wakeup.sw_arg = (void *) task ; ioctl( fd, RTEMS_IO_RCVWAKEUP, &wakeup);

Changing the console buffer size and baud rate

<i>Is there some appropriate way of configuring the console buffer size (and baud rate) in bsp.h, or some way of calling the termios code to get the rate changed and buffer resized at startup ?</i>

To change the buffer size call {{{rtems_termios_bufsize</code> before the console termios driver is initialised. The call is defined in <file>libio_.h</file> in {{{cpukit/libcsupport</code>.

To change the default baud rate, you cannot. This is normal. You cannot do that on Linux. You can how-ever make a termios set attribute call before you use the serial port or console. This could be in a BSP hook or {{{main</code>.

OSI protocols with RTEMS

<i>Does RTEMS support the OSI protocol stack ?</i>

RTEMS does not provide an OSI protocol stack with its released code, how-ever RTEMS does work with commercial OSI protocol stacks. This includes IP tunnelling using GRE between the RTEMS TCP/IP stack the OSI protocol stack.