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

Verizon UML290 and Sprint U600 USB Modems in Embedded Systems

Posted by Cliff Brake on 2011-03-31 | 2 Comments to Read

Recently I tested support for the Verizon UML290 and Sprint U600 USB Cellular modems in an embedded Linux system.  Both modems support 3G and 4G networks, but only the 3G modes were tested due to lack of 4G coverage at the testing location. Fortunately, both modems function very similar to previous modems, so with the [...]

Yocto and OpenEmbedded

Posted by Cliff Brake on 2010-12-10 | Read the First Comment

Recently, I attended an Embedded Linux summit hosted by the Linux Foundation to discuss the Yocto project. Overall, I thought the meeting was very positive and constructive. Having met and discussed at length the methods and goals of the Linux Foundation with some of their people, I’m impressed with their approach. They are there to [...]

OpenEmbedded srctree and gitver

Posted by Cliff Brake on 2010-10-11 | 4 Comments to Read

Recently an OpenEmbedded class name srctree became usable.  The srctree.bbclass enables operation inside of an existing source tree for a project, rather than using the fetch/unpack/patch idiom.  The srctree.bbclass in combination with the OpenEmbedded gitver.bbclass and git submodules provides a very interesting way to build custom software with OpenEmbedded. One of the classic problems with [...]

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

Installing OMAP3 images on a SD card

Posted by Cliff Brake on 2010-06-14 | Be the First to Comment

This article and screen-cast is a continuation of that last couple posts describing the BEC OE build template.  The purpose again for a build system is to automate tedious manual tasks, and in doing so, we end up documenting how the build system works.  Having a good build system is important during product development so [...]

Creating a Custom OpenEmbedded Image

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

In this article screencast, we’ll demonstrate how to create a custom Linux OS image using the OpenEmbedded build system.  This demonstration builds on the earlier article about using the BEC OE build template.  The OpenEmbedded build system is similar to Linux distributions in that you can select from a wide array of components to install.  [...]

OpenEmbedded Build Template

Posted by Cliff Brake on 2010-06-05 | 3 Comments to Read

Setting up an OpenEmbedded build is a fairly simple process if you carefully follow the instructions.  There are also a number of scripts available that automate the setup such as the OpenEmbedded Tools for Eclipse, the Angstrom setup scripts, the KaeilOS Openembedded Manager, and I’m sure there are many more (feel free to add in [...]

MeeGo Review

Posted by Cliff Brake on 2010-06-02 | Be the First to Comment

As we evaluate various technologies that might be applicable in embedded systems, MeeGo is the subject of this article.  MeeGo is a collaboration between Intel and Nokia, and is replacing the Moblin and Maemo efforts.  For this review, MeeGo was installed to a USB flash disk and booted on a Asus EEPC.  This was quite [...]

Gumstix Overo review

Posted by Cliff Brake on 2010-02-08 | 18 Comments to Read

Based on the interest and number of embedded modules currently available, it appears that the OMAP3 CPU from TI will be very popular in the general purpose embedded Linux market.  One of the OMAP3 modules available is the Overo from Gumstix.  As the company name suggests, this module looks about like a stick of gum, [...]

The Go language for embedded systems

Posted by Cliff Brake on 2010-01-06 | 3 Comments to Read

As one of the things I do is evaluate new technologies for embedded systems, the Go language from Google is an interesting development.  I have been looking for a better “system” language for some time.  What I mean by a better system language is one that is nearly as efficient as C, does not require [...]

OpenEmbedded development activity

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

Ever since I have been sending out weekly change logs, I have been impressed by the consistent amount of development activity in the OpenEmbedded project.  Every week there are consistently over a dozen developers making changes.  Developers come and go, but the contribution level always seems healthy.  While this amount of development leads to some [...]

OMAP3 Resume Timing

Posted by Cliff Brake on 2009-12-07 | 3 Comments to Read

One of the most common power management modes for ARM processors is the suspend mode.  In this mode, peripherals are shut down when possible, the SDRAM is put into self-refresh, and the CPU is placed in a low power mode.  A useful bit of information is to know how soon the system can respond to [...]

Linux kernel stats, and long term advantages

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

I just read an interesting interview with Greg Kroah Hartman.  According to Greg, we add 11,000 lines, remove 5500 lines, and modify 2200 lines every single day.  This rate of change is something that few organizations have the resources to match.  It is interesting that Google chose to use the Linux kernel in the Android [...]