Home of picoTK !
The small footprint C GUI kit for embedded systems
07-Oct-2007: Corrected no longer valid link to CVS repository section.
17-Feb-2002: Added Contributions section.
03-Dec-2000: Version 0.03 of picoTK is out. Download it
here. Features added since last release:
You can look into the latest README and CHANGELOG releases by using the
CVS web interface.
VGA VESA linear frame buffer modes, which give higher resolution color
modes on current VGA cards. Added a color version of the
self booting demo floppy. This demo can be used
to check wether the VGA card support these modes.
20-Nov-2000: Revised HOWTO available. Now including picoTK
Read it On-Line or download it in
various formats (PDF, PS, DVI and ASCII).
18-Nov-2000: Version 0.02 of picoTK is out. This release is a major
improvement over 0.01. Download it here. The following
features have been added since the last release:
Added HOWTO containing information on how to install picoTK and getting
started with the RTEMS / picoTK combination
Generic drivers for 1, 4 and 8 bit per pixel color depth
Generic frame buffer emulator for simulation under X-Windows. Supporting
1, 4 and 8 bit per pixel modes
Readily compilable RTEMS demo
What is picoTK ?
picoTK is a GPL licensed small footprint C GUI toolkit for embedded
systems. It readily works with the RTEMS real time kernel -
its minimum complexity and OS independency makes a port to
any operating system easy. It is not comparable featurewise to real full blown
windowing toolkits like nanoX or Qt/Embedded; but serves the needs for
simple memory mapped graphic presentation. picoTK features:
Draw graphical primitives: points, lines,
texts (different fonts, fixed and proportionally spaced using any
X-Windows font ), filled rectangles, pixmaps
Driver is easily adaptable to "homebrew" embedded display hardware
based on memory-mapped framebuffer
Generic drivers for 1, 4 and 8 bit per pixel color depth.
Readily supporting VGA mode 0x11 (640x480x2), VGA mode 0x13
(320x200x8) and the VESA linear frame buffer modes (480x640x8 to
1280x1024x8) on graphic cards, which support VBE2.0 or higher.
Framebuffer emulator (fbe) for Linux using shared memory IPC. This
is used for the development of the toolkit and can be used for the
development of your application as well. That is you can have a
simulation version of your application that run under Linux - and
look at its emulated screen. Than you can cross-compile the same application for
the target system.
Tool "fontripper" for converting X11 fonts into picoTK fonts. Use "ppmripper"
for converting ppm portable pixmaps into picoTK pixmaps. Fonts and
Pixmaps are encoded into linkable binaries, i.e. the system will be
compiled into a single binary and does not require to have a
Together with RTEMS (www.oarcorp.com)
you can have a nice embedded system graphical output solely using GNU
Use Linux as a development host for
cross-compiling and as an emulation environment.
Allows easy adaption/porting to your favorite operating
system or hardware architecture.
Right now, it prints 'Hello, world!', but someday, it will be an air
traffic control system.
I think its quite usable now. Things which might be added in the future:
-- Jeff Covey,
"How to write a great freshmeat submission"
- Support for color pixmaps (currently only 1 bit deep
pixmaps are supported).
- Support for drawing circles.
Download Source & Documentation
HOWTO: Download documentation as
PDF or browse
picotk-0.03.tgz (40 KByte): Source tarball for Linux
Download Demo Floppyimages
The following floppy images demonstrate some picoTK features. These
images are, when copied to a floppy disk, readily bootable. They use
LILO, RTEMS and picoTK.
picodemo1.bin (80 KByte): Demo using VGA
Mode 0x11: 640x480x1bpp (b&w)
picodemo8.bin (80 KByte): Demo using VGA
VESA Mode 0x101: 640x480x8bpp (256 colors)
The color demo does only run on (newer) VGA cards supporting VESA BIOS
Extensions (VBE) Version 2.0 or higher. If no such card is found a message
"You passed an invalid mode number" is issued.
Copy either file to a floppy using the floppy raw device, e,g.:
cp picodemo1.bin /dev/fd0.
picoDrawCircleRaw.c draws circles
using integer arithmetic only. Contributed by Thomas Hegenhahn.
Sourceforge project picoTK
Embedded Systems Links
Real-time executive for multiprocessor systems
$Id: index.html,v 1.21 2007/10/07 17:57:09 tgkamp Exp $
© Copyright by