Things that work!

Posted by Cliff Brake on 2009-01-09 | Read the First Comment

Running a small business has a special set of challenges, and if you are not careful, the overhead can quickly consume you.  This article is a list of things that I use in my business that work well for me, and help me to be efficient when there is so much to do … Entire [...]

Howto use a Git topic branch to maintain a patchset, and isolate problems

Posted by Cliff Brake on | Be the First to Comment

The more I use Git, the more I am really impressed with some of its capabilities.  What is Git?  Git is a very advanced distributed source code control system that can do some very neat things.  For the average developer using open source software, we are mainly concerned about maintaining patch sets (often called a [...]

Open JTAG debugging tool for the PXA270

Posted by Cliff Brake on | 3 Comments to Read

Looking for a low cost, high functionality JTAG solution for the PXA270?  As of several weeks ago, the openocd project now works with the Intel/Marvell PXA270 processor.  There are a number of USB based JTAG debuggers available for under $100, so the cost is minimal.  This article provides a brief overview of JTAG, suggestions for [...]

How to control the cable nightmare

Posted by Cliff Brake on | Be the First to Comment

Do you ever wonder if there is a better way to manage cables in your lab?  I typically have have 5-10 embedded systems on the bench powered up at any give time.  When you start thinking of all the cables required to connect these systems (every one requires at least power, serial console, and network), [...]

TRAC and Distributed Development

Posted by Cliff Brake on | Be the First to Comment

I have long been a big fan of source control tools and issue tracking systems.  The “concurrent” model made popular by CVS is a tremendous benefit any time there are multiple people working on the same project.  For most of the projects BEC participates in, we end up setting up a source control system (usually [...]

A Really Nice Hex Calculator

Posted by Cliff Brake on | Read the First Comment

When working with embedded software, I often have a need for a hex calculator.  Over the years I’ve used a number of different tools.  Through college and for several years after, I used my HP48 calculator.  It is a great tool.  Around 1998, I discovered the Python programming language.  As Python supports an interactive session, [...]

Total Phase USB Protocol Analyzer review

Posted by Cliff Brake on | Be the First to Comment

I recently purchased a USB protocol analyzer from Total Phase.  The device will analyze full speed USB traffic and works well with Linux.  On Linux, the software makes use of libusb, so there is very little setup required to get the device working — very nice.  At a price of $400, there is really no [...]

How to disable SSH host key checking

Posted by Cliff Brake on | Be the First to Comment

This article presents a very nice overview of options to disable ssh host key checking.  When working with embedded systems where you are constantly reloading the rootfs, it is really annoying to have to edit your ~/.ssh/known_hosts every time you update the rootfs on the target device.  The solution is to simply disable host key [...]

Printing from Embedded Systems

Posted by Cliff Brake on | 5 Comments to Read

How does one implement support for printing in embedded systems? I recently had the opportunity to add printing support to an embedded Linux system.  The device is an industrial touch screen powered by a Compulab cm-x270 module (PXA270 CPU), and runs a GTK+ application.  The customer is implementing a device calibration system where customers bring [...]

Benefits of OpenEmbedded switching to Git

Posted by Cliff Brake on | Be the First to Comment

Recently the OpenEmbedded project has switched to the Git version control system.  This is good news for many reasons.  The obvious reasons are Git is faster than Monotone, handles branching better, has lots of nice features, larger user base, etc.  Monotone has served us well, but as new tools become available, it is time to [...]

more fun with git branches

Posted by Cliff Brake on | Be the First to Comment

One thing you learn after using git for awhile is you get used to trying random things, and it will often just work.  For example, if I want to know the differences between Linus’s kernel tree, and the Wolfson dev branch for a particular directory: cbrake@happy:/build/linux-2.6$ git diff –stat origin/master..wolfson/dev sound/soc/codecs sound/soc/codecs/Kconfig | 125 +++ [...]

Linux Input Testing and Debugging

Posted by Cliff Brake on | Read the First Comment

The Linux input layer has made a lot of progress in recent years.  When writing a new input driver (such as keyboard, trackball, etc), it is useful to be able to monitor input events using a test application.  This article describes two ways to accomplish this using kernel input debugging, and the evtest utility. kernel [...]

Using a Verizon USB720 modem in an Embedded Linux system

Posted by Cliff Brake on | 2 Comments to Read

The Verizon USB720 Cellular modem is a quick and easy way to add wireless internet connectivity to your embedded system.  Why might you want to add cellular  connectivity to your embedded device?  Remote access and diagnostics is a big reason.  One customer I have is planning to supply all their distributors with a USB720 so [...]

Should you be using monotonic timers?

Posted by Cliff Brake on | Be the First to Comment

In a previous article (http://bec-systems.com/web/content/view/78/9/ ), I covered some of the basics of Linux timers.  Any time you are doing any type of fixed time delay in a program, you should really be using monotonic times, so the delay will not be affected by system time changes.  In an effort to save cost, some embedded [...]

Compulab cm-x270 kernel update to 2.6.24

Posted by Cliff Brake on | Be the First to Comment

The kernel support in OpenEmbedded for the Compulab cm-x270 has been updated to version 2.6.24.  The 2.6.24 kernel opens up several possibilities including better real time and high resolution timer functionality, an improved SD Card driver, and a full SDIO stack with support for SDIO Wifi devices.  Also included is a patch to set the [...]