A Linux Kernel Tracing Tutorial

Posted by Cliff Brake on 2012-01-31 | Be the First to Comment

The Linux kernel has a fairly extensive tracing infrastructure that is quite useful for debugging.  There are a number of things you can do with tracing, but the focus of this article will be the traditional printk type debugging we often end up doing to trace initialization issues with a driver.  The following links provide [...]

The easy way to get serial terminal in Linux

Posted by Cliff Brake on 2012-01-26 | Read the First Comment

When doing embedded Linux development, most of us spend out time tethered to a target system with a serial cable, which is used for a serial console.  Minicom is the defacto serial terminal software for Linux.  However, Minicom is a little fussy in that you typically have to set it up for each port you [...]

Qt Creator for C/C++ development

Posted by Cliff Brake on 2010-08-07 | Be the First to Comment

Recently, I’ve been evaluating Qt Creator for general C/C++ development.  I’m currently involved in the development of a rather large C++ application that is approaching 200,000 lines of code and 1000 source modules.  In the past, I’ve typically used Vim for editing, and Eclipse as a gdb front-end when needed.  Qt Creator is a rather [...]

A quick serial logging application

Posted by Cliff Brake on 2009-10-21 | Be the First to Comment

Recently when debugging a device connected to a rs485 bus, I needed a simple application to dump the raw data coming over the rs485 bus.  Minicom does all kinds of weird terminal stuff, plus it will not display binary data, so that was out.  While looking for serial analyzer programs for Linux, and pondering writing [...]

Apache and how to correctly use NameVirtualHost

Posted by Cliff Brake on 2009-10-16 | 7 Comments to Read

As I often get involved in server administration (SVN, git, redmine, etc setup), I deal with Apache on a regular basis.  For simple configurations, the default Ubuntu/debian config works well.  However, for a more complex setup with virtual hosts, multiple IP addresses, and SSL support, it is common to run into the following message: mixing [...]

converting digital camera movies to ogg format

Posted by Cliff Brake on 2009-09-09 | Be the First to Comment

Now that firefox (v3.5) has built in support for ogg videos, ogg is now the most convenient format for “easy to view” video files (assuming you don’t want to use a service like youtube).  Some digital cameras (like my Canon) records movies in AVI format.  I created a script that uses gstreamer to convert the [...]

How to capture source changes to an OpenEmbedded package

Posted by Cliff Brake on 2009-07-14 | 4 Comments to Read

One task that is a often confusing to new OpenEmbedded users is how to capture changes to the source code for a package/recipe.  First, lets review the progression in tools use to capture source code changes. In days of yore, developers often used gnu diff to capture modifications to a source tree.  The typical practice [...]

Installing Ubuntu on a Core i7 DX58SO motherboard

Posted by Cliff Brake on 2009-01-15 | 6 Comments to Read

UPDATE:  2009-03-17 — It appears that hard drive issues I encountered are likely due to the HW RAID formatting on the drive I tried.  I just tried a brand new hard drive, and Ubuntu 8.10 installed flawlessly, and everything works. I’m not sure why computer upgrades are always such an epic struggle for me, but [...]

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 [...]

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 [...]