Copyright © 2008, 2009, 2010 Marc Balmer. All rights reserved.
OpenBSD has had support for General Purpose Input/Output devices since the 3.6 release. GPIO devices, or gpios for short, provide an easy way to interface electronic circuits which can be as simple as a LED or that provide more complex functionality like a OneWire or I2C bus.
The GPIO implementation in OpenBSD 3.6 up to and including 4.4, however, has some problems and drawbacks which made me rework larger parts of this subsystem during the h2k8 hardware hackathon in Coimbra, Portugal.
embed-it/bsd is a stripped down and slightly modified version of OpenBSD targeted at use in i386-based embedded devices like the PC-Engines ALIX boards. The most important design goals were
Ideally there are not much user visible differences to a standard OpenBSD installation, but since the whole system can be installed on CF cards as small as 16 MB, some tradeoffs have been made in the selection of binaries available.
I am currently writing a control and monitoring software system that makes use of GPIO pins. Since I was at the CCC congress in Berlin I did only have my laptop and no real GPIO hardware...
With only a laptop it's a bit hard to write GPIO software, since laptops usually don't have any GPIO pins. So what I needed to test my new software was either a real device (out of reach) or... writing a simulator.