This page provides a description of MicroWindows and instructions on how to build it and use it in your application.


Nano-X is an Open Source project aimed at bringing the features of modern graphical windowing environments to smaller devices and platforms. The Win32/WinCE API implementation is known as !Microwindows, and the Xlib-like API implementation is known as Nano-X. (The project was renamed from MicroWindows to Nano-X in 2005 to avoid any trademark disputes with Microsoft's Windows.)

The TCB-2, Fonix7000 and AMV TECHNIC I are three examples of RTEMS-based products also using !Microwindows and Nano-X.

More versions of MicroWindow/Nano-X graphic libraries have been adapted for RTEMS and are actively used. Additional resources for whole set of graphics libraries and support including actual versions of MicroWindows are documented at RTEMS Graphics Toolkit page.

Building MicroWindows

Latest sources from MicroWindows/Nano-X repository

git clone git:// microwin

Sources with some RTEMS updates included

git clone -b rtems-ppisa git:// microwin

Configure for RTEMS

cd src
cp Configs/config.rtems config

Select tool-chain and directories for desired RTEMS target system in config file. There is example of changes used for ARM CSB336 BSP?

RTEMSTOOLSPREFIX         = arm-rtems4.10-
GRAYPALETTE              = Y
FBVGA                    = N
HAVETEXTMODE             = N
NOMOUSE                  = Y
RTEMS_BUILD              = /opt/rtems4.10
RTEMS_BSP                = csb336
RTEMS_TARGET             = arm-rtems4.10

Then regular make clean and make all can be used to build libraries.

The latest MicroWindows/Nano-X GIT version does not support well monochromatic displays with BPP smaller than 8. When support of BPP 1, 2, 4 is required it is safer to stay with older MicroWindows release. This is the case of AMV TECHNIC I system. Patches used to configure and build suitable MicroWindows version for that project together with corrections of native build under X for 64-bit Linux systems and cleaning some 16-bit integer incompatibilities for H8S targets can be found in next archive

This older version of Microwindows/Nano-X with RTEMS patches is archived in microwin-080122-ppisa of the repository on GitHub.

The patch series includes even implementation of minimal screen driver (mwin-driver-mx1sl.patch) for frame-buffer accessible directly at fixed address in application memory map.

Using MicroWindows in an Application

TBD - include configuration details and hints on where to start

Last modified on Jun 26, 2015 at 1:42:15 PM Last modified on Jun 26, 2015, 1:42:15 PM