Bill Home
Bill holding a circuit board

My embedded skills include Linux kernel porting and device driver development, kernel tuning, and bootloader integration. I can deliver a standalone kernel, a kernel with a basic root filesystem, customized filesystems, and complete products.

I also do GNU toolchain setup, testing and support. I can even integrate the features of the GNU debugger, gdb, into your embedded application so that you can set breakpoints and step instructions even if the target system is miles away.

My broad experience in embedded systems is available in other ways, too. I can critique an existing design, help you specify a new design, help you get to "first light" on a brand new platform, develop your application, even serve as a vendor liason. Send me an email for more information.

Board Support Packages
Linux Board Support Packages

Finished embedded Linux systems, including a Linux kernel port and runtime environment. Deliverables include:

  • Complete source code
  • Build scripts
  • Documentation and training
  • Application integration
  • Startup scripts
  • Testing and support

A working Linux kernel is a great starting point for your next embedded application. But Linux-based embedded systems also need a bootloader, device drivers, user libraries, applications, and a configuration that starts up critical programs and keeps them running.

My Linux board support packages are power-up-and-go Linux-based embedded systems, an ideal way to get your new project up and running quickly. In addition to offering standard packages optimized for specific application domains like kiosks and machine control, I can also produce a package that is tailored specifically to your needs--- including integration of your own applications.

Linux Kernel Porting
Linux Penguin
  • Complete source code and patch files
  • Machine identifier registration
  • Menuconfig updates
  • Configuration files
  • Bootloader integration
  • Support and maintenance

Many hardware vendors provide generic Linux solutions. But why constrain yourself to a generic, one-size- fits-none offering? Adapt the kernel to meet the demands of your application, don't try to shoehorn your vision into a less-than-ideal platform just because that's what you started with.

Each port begins with the latest stable Linux kernel, plus an extensive set of patches to update the many kernel features that release on their own development schedules. Then I adapt that kernel to your platform, configure and build it, test it, and document it.

Kernel port deliverables include a basic runtime environment suitable for testing kernel features. Onsite training is also available. How long does it take? From mere hours to just a few weeks, depending on the complexity of the target platform.

If you need more than just a pure kernel port, then you probably want a Board Support Package (see left).

GNU Toolchains
GNU Head
  • Complete GNU C/C++ distributions
  • Linux, Mac OS X, Solaris, Win32
  • ARM, MIPS, PPC, other targets
  • Runtime library integration
  • Training and support

Coding right down to the bare metal? Then put the power of the GNU toolchain to work for you!

I can deliver a complete GNU C/C++ toolchain installation, including testing and support. I also offer runtime library integration so that things like printf() and malloc() work the way you expect them to.

Not sure if GNU is right for you? I can help you characterize things like floating point emulation performance, code generation quality, and other critical features. I can show you how GCC's language extensions can help simplify difficult programming problems. I can even adapt runtime libraries to take advantage of processor features that aren't used by the base tools.


Site Design by: One Hat Design Studio.