wiki:TBR/Website/FAQ

Version 11 (modified by ChrisJohns, on 03/19/09 at 03:41:08) (diff)

Reformat and add the console buffer size and baud rate question.

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 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 of console. This could be in a BSP hook or {{{main</code>.