|
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!
|
Linux Certified Class
Here is the material on buildroot that we talked
about
buildroot.doc
|
|
GoGogh and Dash Courses Embedded Linux
class This is the code and data
required for the Eclipse exercise in Module 4
record_sort.tar.gz
|
|
Embedded Linux Development Using
Eclipse Here is the sample code
for the exercises in the book.
EclipseSamples.tar.gz
|
|
Embedded Linux Learning Kit update --
Mar. 09 An embarrassing omission
in the User's Guide was just brought to my attention. The target board
login is not described anywhere. When the target board boots to Linux,
the user name is "root" and there is no password. This is the default
behavior of BusyBox's login process. |
|
Linux for Embedded
and Real-time Applications
There are
reports that the version of BlueCat Lite distributed on the book CD
doesn’t install in certain environments. This appears to be due to some
incompatibilities in the RPM utility.
Here is a bzipped tar of my BlueCat installation. You can untar this in your home
directory and have almost the same thing you would otherwise get from
following the BlueCat install process.
bluecat.tar.bz2
(106 MB)
There is
however, one “gotcha”.
RPM works some magic to put the install directory, in this case “/home/doug”, into absolute path strings in the
binaries under
cdt/. The consequence is that building a
program fails because the compiler can’t find the library files, among
other thing.
The
solution, kindly provided by redhat_blues on the book’s Yahoo group, is
to create the directory
/home/doug and in
there set up a symbolic link to your BlueCat installation directory thusly:
ln –s <your_install_directory>/Bluecat
Bluecat |
|
printf
The printf family of functions can sometimes
be a problem in embedded environments. You rarely need all the functionality
of printf (floating point formats for example). The functions are large and
they tend to be stack hogs.
Here's a small public domain version of printf that came out of Embedded
Systems Programming some time back. I added some
minimal floating point support.
rprintf.zip
(3 kb)
|
|
Universal Test
Program (UTP)
Much as Windows provides a programming
framework that allows one to easily develop applications with a consistent
look and feel, so the UTP (Universal Test Program) is a framework for
creating simple test programs with a consistent operator interface. Like
Windows, the UTP defines an API that simplifies the creation of test
programs. Unlike Windows, this API is quite simple.
utp.zip (55
kb)
|
|
Debugging Realtime
Software in a Multitasking Environment
Presentation at Ideas in Science and
Electronics, May '97.
The need to track multiple threads of execution, and to interact with the
physical environment, complicate the process of debugging software built
around a multitasking kernel. Often the “snapshot” provided by a
conventional breakpoint is insufficient. Rather, a history of how we got here
is more useful. Furthermore, in the absence of expensive specialized tools,
the target environment is often not a very “friendly” place for
debugging.
This paper looks at techniques for debugging in the Host development
environment as well as ideas for effective use of logic analyzers and
emulators.
ise97.doc
(Word 6 document, 238kb)
ise97.zip
(compressed version of ise97.doc, 75 kb)
|
|
Mass Customizing
Software
Invited article for the Journal of Agility
and Global Competition.
"Mass customization" may sound like an oxymoron but in fact, it is
likely to be the dominant paradigm for manufacturing in the 21st century.
The idea is simply that today's technology makes it possible to easily
customize products for individual users. The challenge is to design
products that fit into this new paradigm.
As more and more products come to rely on embedded computers, there is a growing
need to structure embedded firmware to fit the mass customization model.
This article explores the technique of table-driven programming to make
firmware easily customizable.
softcust.doc
(Word 6 document, 16 kb)
|
|