![]() |
![]() |
Links | Downloads | Tutorials | Projects | Services | ConnectTel | Resume |
|
What's newMay 30, 2000![]() FLTK for Microwindows ( RTEMS ) fltk_pre4-rtems.patch NOTE: Keyboard handling does not work.
May 27, 2000
May 30, 2000
IntroductionThis page describes the porting of Microwindows/Nano-X to RTEMS. Microwindows is a GUI framework with a very small footprint, making it very compeling for embedded applications. For more information about Microwindows/Nano-X, please visit the Microwindows project page.The porting to RTEMS is based on the PC386 BSP. The drivers assume a bare PC as hardware. It does not requires any BIOS functionality.
The pre-requisites to run the demos available are:
RTEMS Kernel changesIn order to get MicroWindows ported, some basic functionality has been added to RTEMS:
Driver interfaceIn order to make eaiser the port of the drivers to new BSPs, interfaces have been defined to talk to MicroWindows.
Micro FrameBuffer (uFB ) for MicroWindows -- API specification
for Video Controllers based on Linux FrameBuffer interface
geared to embedded systems.
Micro Input Device Interface for MicroWindows -- API specification for
input devices such as Mouse, Kbd and Touch-Screen to interface with
MicroWindows when running under some RTOS/embedded system.
Single ThreadedThe Microwindows framework is single threaded. For more details check the Microwindows documentation. This means that all GUI related stuff must be done from the "main thread". This is pretty much how windows works, and it is beyond the scope of this page.PC386 SpecificThis port is PC386 specific. It uses a PC as hardware. It should not be difficult to port the drivers to others platforms using the API specified above.Microwindows Demo - Using GRUB 0.5If you have a GRUB bootable "floppy disk", you can check this out, downloading the demos. There are two demos:+ for PS/2 mouse + for serial mouse on COM1 Unzip the archive and copy the file to the GRUB bootable disk. Start your RTEMS system and enjoy it :-). If you need more information about GRUB (GRand Unified Bootloader), check its homepage at http://www.gnu.org/software/grub/ DriversAs of this release, all drivers have been changed to use the standard Micro Frame Buffer ( uFB ) interface, and the Uniform Input Devices ( UID ) interface. A directory called rtems holds all stuff related to the RTEMS porting. See Drivers API for details.
RTEMS Init TaskRTEMS applications differ from PC based ones in a sense that they require a configuration to be provided and an initial task to be created to carry on the initialization. The file rtems_init.c is responsible for setting all these things up. The initial task does all initialization and finally calls a "main" equivalent entry point called rtems_main(). All modules that have a main() routine must provide a rtems_main() instead when used with RTEMS.
The header file rtemscfg.h defines the RTEMS configuration. Please check RTEMS documentation about setting a RTEMS box. Installing and BuildingIt 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.
Use the "readme.rtems" that comes with MicroWindows distribution to properly
configure the package. See HELP option on the menu for instructions on how to setup and build the system. Packages needed:
FeedbackIf you have any comment or want to help with this porting, please send me one e-mail: rdasilva@connecttel.com
CreditsI'd like to thank the folks from the Microwindows' list for their support when things did not go the way I expected. :-).
Specially,
TODO
+ Merge keyboard handling and mouse functionality to easy porting of applications based on SVGA library to RTEMS. Visitors:![]() Last modified May 27, 2000 Copyright ©1999-2000 Rosimildo da Silva. All rights reserved. |
e-mail me |
---|