SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

RTEMS Setup

This file provide instructions on how to configure and build Microwindows for RTEMS. It is assumed that you are familiar enough with RTEMS and Microwindows, and have a development environment that works with both systems. If you are not, it is encouraged to play around with each one these packages first, separately, before you start mixing them together.

NOTE: Microwindows code does not compile when ITRON API is enabled -- need fix

a) RTEMS --- Patching & Building

+ Download RTEMS source (rtems-4.5.0-beta3.tgz) from Oarcorp.

+ make a build directory

mkdir work

+ untar rtems beta3

      cd work
      tar xzf rtems-4.5.0-beta3.tgz 

+ Download rtems and microwindows patches from Rosimildo's site.

  • rtems-4.5.0beta2-microwin-0.88.patch
  • microwin-088pre7-rtems.patch

+ Apply rtems-4.5.0beta3-microwin-0.88.patch. cd rtems-4.5.0-beta3
patch -p1 <../rtems-4.5.0beta3-microwin-0.88.patch

NOTE: find . -name "*.rej", t check for rejects.

# Regenerate some RTEMS build structure. You may need to update # autoconf and automake packages on your machine. ./bootstrap

+ Mouse driver setup:
This needs to be improved later. Right now this is utter complex. It reminds me setting up GRUB. :-).

You need to edit the device driver table in rtemscfg.h, around line 61. There are two "/dev/mouse" drivers on RTEMS. Only one of them can be loaded on the system. Select the one that fits your needs.

i) for PS/2 mouse:
Select to load PAUX_DRIVER_TABLE_ENTRY in the device driver table. You would do this, defining PS2_MOUSE in the file rtemscfg.h before the device driver table.

#define PS2_MOUSE

ii) Serial Mouse

-- Select the mouse type: "ms", "pc". Most serial mouses are microsoft ( "ms" ) compatible. This is the default selection.

-- Select serial port -- defaul is COM1

Both selections are made in the header file:

$RTEMS_SOURCE)/c/src/lib/libbsp/i386/pc386/console/serial_mouse.h around line 72.

[snip from $RTEMS_SOURCE)/c/src/lib/libbsp/i386/pc386/console/serial_mouse.h ] /* Select the mouse type: "ms","pc","ps2" */ #define MOUSE_TYPE "ms"

/* Select the serial port used by the mouse driver */ #define SERIAL_MOUSE_COM1 1
/* #define SERIAL_MOUSE_COM2 1 */

IMPORTANT: Any change on one of these settings, requires recompilation of RTEMS.

Configure and install RTEMS. This assumes RPMs are installed and tools are available as /opt/rtems. You will need to be able to write into the /opt/rtems directory so you will likely have to be root to do the "make install" step. I am using the c build scripts and you should look at user.cfg to make sure it is OK for you.

./bit_rtems i386 pc386
# takes a while and ends up with /opt/rtems/pc386 installed

b) MicroWindows --- Patching & Building

+ Downloaded Microwindows source (microwindows-0.88pre7.tar.gz) from censoft.

+ make a build directory

mkdir work

+ untar microwindows

      cd work
      tar xzf microwindows-0.88pre7.tar.gz

+ Apply microwin-088pre7-rtems.patch.
cd microwin
patch -p1 <../microwin-088pre7-rtems.patch

Found readme.rtems in microwin source:

bash$ find . -name "readme.rtems"
./src/rtems/readme.rtems

Per readme.rtems use config.rtems for Microwindows.

cd microwin
cd src
cp config config.SHIP
cp config.rtems config

Edit config to localize it. Make sure these variables are set as shown below:

  RTEMSTOOLSPREFIX         = i386-rtems-
  RTEMS_BUILD              = /opt/rtems

Now build microwindows:

cd src
make

NOTE: This does not build the demos.

Now build the demos.

src/rtems/Makefile.rtems is intended to be used to each of the demos. You have a couple of issues...

+ This builds whatever demo is selected by the definition of MAIN_OBJ around line 52 of Makefile.rtems.

+ This produces rtems.exe for each demo. It is quite large so you might want to strip it like this:

bash$ cp rtems.exe rtems_nosym.exe
bash$ i386-rtems-strip rtems_nosym.exe

c) Microwindows Configuration

NOTE: You can use the default configuration for RTEMS --

copy config.rtems to config

--> or

  1. Select the architecture to be RTEMS. :-) ARCH = RTEMS
  2. No demos are built for RTEMS. Later, using the Makefile under the rtems directory you can select whatever you need to build. This is because RTEMS requires special configuration tables, and a definition of the "Init" task.

+ A demo is selected by the definition of MAIN_OBJ around line 52 of Makefile.rtems.

MICROWINDEMO             = N
NANOXDEMO                = N

3. color scheme -- ( unless you wrote the super-duper video driver for RTEMS ) SCREEN_PIXTYPE = PF_PALETTE

4. Nano-X server linked with client as a single executable LINK_APP_INTO_SERVER = Y

5.1. Enable the Micro FrameBuffer interface.

FRAMEBUFFER              = Y
FBVGA                    = Y

==> or

5.2. For SVGALIB -- This requires you have the SVGALIB support under RTEMS. Please go to this site for more information: http://members/xoom.com/rosimildo/rtems_svga.html

LIBVGA = Y

c) KBD & MOUSE Test

A test program has been added to help debugging the input devices. It is called rtems/mw_uid_test.cc. Modify the Makefile to build it. It'll help making sure that mouse&kbd works.

Credits

I'd like to Thank Joel Sherrill for going over the original notes, and prividing me with his own notes to be merged here.

Good Luck !!!.

Rosimildo.


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.