Online Classes
Contact Us

This is our collection of software, presentations, articles and other goodies that you might find useful. You are free to copy and distribute these items provided the original copyright notice remains intact.  Also remember that this is Public Domain software and as such is provided on a strictly "as is" basis.  If you have questions we'll try to answer them and we'd be most interested in any comments you have; however, we can't make any commitment to formal support.   Have fun!

Embedded Linux Learning Kit version 3

It turns out that there are two versions of the Matrix Compact Kit board in circulation. There are three GPIO bits that differ between Rev. A and Rev. B. So if the led program doesn't work for you, then you've probably got Rev. A. Here are the differences:

Rev A
Rev B
Display D/C

Here are updates to the three files that are affected by this issue. Copy the two .c files to pi-lib/ and copy the .h file to includes/.


There's an error in the User's Guide on page 28. The correct include path is:

Linux for Embedded and Real-time Applications, 3rd Ed.

Here is the sample code for the book:

Embedded Systems Conference Presentations

Here are a couple papers I've presented at the Embedded Systems Conference in San Jose in recent years.

Device Drivers Demystified -- They Really Aren't All That Mysterious
Introduction to POSIX Threads -- Asynchronous Programming in the Unix/Linux Environment
Embedded Linux Learning Kit Software Installation Problem

A problem has shown up in the script when run under Ubuntu.  The symptom is that the script can't create or populate the .working/ directory. uses the LOGNAME environment variable to change the ownership of target_fs/home and everything in it.  LOGNAME is initially set to the user name you log in as.  Under Fedora and Red Hat distros, when you su or sudo to become root, LOGNAME retains its initial value.  However under Ubuntu, when you become root the value of LOGNAME changes to "root", which kind of defeats the purpose.

The workaround is to manually change the ownership of home/ and everything under it to your user name, create home/.working/ and copy the files from the CD.  Do this as root of course.

GoGo and Dash Courses Embedded Linux class

This is the code and data required for the Eclipse exercise in Module 5

Embedded Linux Development Using Eclipse

Here is the sample code for the exercises in the book.

Copyright 2015 to 2019 Douglas Abbott