Why Git?

Posted by Cliff Brake on 2016-08-18 | Comments are off for this article

Some time back, I gave a presentation that included an overview of the Git version control system.  I still occasionally get asked why Git should be used instead of Subversion, as it seems harder at first.  Most developers don’t really understand Git until they have used it for awhile, and then they will have an […]

Using Go in place of a Spreadsheet

Posted by Cliff Brake on 2016-06-28 | Comments are off for this article

Recently I needed to calculate NAND partition tables for a project where we will be supporting a number of different flash parts from 500MB to 2GB.  I first tried this in a spreadsheet, but found it difficult to work easily with hex numbers and do the calculations I needed.  I then looked into options for […]

PCB Schematics Style Guide

Posted by Cliff Brake on 2014-08-25 | Comments are off for this article

As I work at the intersection of hardware and software, I spend a fair amount of time reading schematics for printed circuit boards (PCBs).  I’m astounded at how sloppy most schematics are, and have come up with a few suggestions to consider. Schematics are not only design entry — schematics are documentation.  Unless you are […]

A quick way to share files from any directory

Posted by Cliff Brake on 2013-01-22 | 2 Comments to Read

Did you ever need a quick way to share files from a directory on your computer?  Or perhaps transfer a large file to another person?  With nodejs and express, you can easily set up a temporary web server that allows users to browse and access a list of files in a directory.  For convenience, I […]

Perisistent device names for USB serial ports

Posted by Cliff Brake on 2012-12-19 | Comments are off for this article

Currently, my workstation has two 8-port USB<->RS232 devices, one dual port USB<->RS422/RS485 adapter, and several single port adapters such as the very useful BUBII.  So with around 20 USB->serial devices, figuring out which /dev/ttyUSBx entry corresponds to which port is not really practical.  However, with udev in Linux, you can easily give static names to […]

A Linux Kernel Tracing Tutorial

Posted by Cliff Brake on 2012-01-31 | Comments are off for this article

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 | Comments are off for this article

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 | Comments are off for this article

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 | 8 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 | Comments are off for this article

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