Larry's Notebook

March 4, 2014

Recent Readings: 2014 Week 09

Filed under: C/C++, embedded systems, microcontroller, telecom, Uncategorized, wireless — larryang @ 12:38 PM

Two large FM two-way units in the trunk of an automobile, built by Motorola in 1940. Two-way radio’s first use was with municipal police and fire departments..



Subcribe to Embedded Systems Weekly, curated by @embedsys


January 31, 2014

Recent Readings: 2014 Week 4

Society and Policy:



Embedded Development:

July 24, 2013

Recent Readings Week 30

I’ve been kicking around the idea of using Git as a “backdoor” to ClearCase/UCM – see this blog post at We’ll use ClearCase UCM on a Unix/Linux machine then access/share the code via Git on Windows PC.

• how to set Git up with multiple ClearCase branches
• how much work is to keep everything in sync
• how to automatically propagate changes from ClearCase to Git
• how to automatically propagate changes from Git to ClearCase
• how to do code inspections – metrics are collected and analyzed




April 19, 2013

Recent Readings

Filed under: Agile, C/C++, embedded systems — larryang @ 12:52 PM

We live in a not just a parallel processor world, but it’s heterogeneous. My career has working on platforms that incorporated ASICs in combination with general purpose processors, FPGAs and DSPs.

Other readings:

March 29, 2013

Bell Labs Tribute to Dennis Ritchie – YouTube

Filed under: C/C++, engineering, professional — Tags: , — larryang @ 1:04 PM


Bell Labs Tribute to Dennis Ritchie is the video from Dennis Ritchie Day at Bell Labs: The Lasting Legacy of Dennis Ritchie: The Impact of Software on Society.

The agenda:

  • Al Aho, original member of the Bell Labs Computer Systems Lab where UNIX and the C programming language were invented. He co-authored the AWK programming language and is currently Professor of Computer Science, Columbia University;
  • Brian Kernighan, original member of the Computer Systems team who co-authored the C programming language book with Ritchie; he is currently Professor of Computer Science, Princeton University;
  • Doug McIlroy, who led the Computer Systems Lab, and is currently Professor of Computer Science, Dartmouth College;
  • David Patterson, Professor of Computer Science, U.C. Berkeley, where he led the design and implementation of RISC I (Reduced Instruction Set Computer); and
  • Eric Schmidt, Executive Chairman, Google, Inc. Schmidt co-authored the lex analysis software program for UNIX.

Recent C Reading

Filed under: C/C++ — larryang @ 12:51 PM

Recent articles I read on C programming:

December 11, 2012

Keeping current with C: tips, tricks & resources | Embedded

Filed under: C/C++ — Tags: — larryang @ 5:22 PM–tips–tricks—resources

-> Larry

sent from my smartphone

View Post

shared via

November 20, 2012

The Ten Commandments for C Programmers (Annotated Edition) | xAppSoftware Blog

Filed under: C/C++ — larryang @ 10:05 AM

-> Larry

sent from my smartphone

August 8, 2011

Endianness Issues

Filed under: C/C++, computer architecture, embedded systems, programming — larryang @ 2:14 PM

There are 0010 0000 kinds of people in the world: Those that understand the difference between Big Endian and Little Endian, and those that do not.

My own endianness experience falls into roughly three categories: sharing binary data between heterogeneous processors, in protocols (most famous: TCP/IP) and in TDD unit testing C code. The last one is what prompted this blog post.

Solutions? For more readable, portable code, I’m avoiding macro based solutions. There is a tools based approach: Detecting Endian Issues with Static Analysis Tools. Sometimes, I’ll get lucky and the processor is able to handle both such as some DSPs.

One method for TDD for embedded systems tests the same source code on both the development platform and the target platform. For my personal embedded project, each platform had different endianness. I used a wrapper function whose implementation was determined by the compiler preprocessor. On the host platform (Intel Linux) I used byte-by-byte operations. On the target platform, I used intrinsic functions to operate on multiple byte-sized data.

This problem should be addressed at the architecture and protocol level and highlights the importance of test vectors which will show errors when the endianess is wrong.

July 19, 2011

Eclipse Indigo released

Filed under: C/C++, embedded systems, microcontroller, programming, software development — larryang @ 9:42 PM

Eclipse has come out with a new version: Eclipse Indigo released with WindowBuilder GUI tool and EGit 1.0.

For me, Eclipse has become the default development environment. It’s supported across different platforms (MAC OS, Linux, Windows), there as useful plugins and as an IDE it supports different target platforms. My main complaint is that the Eclipse workspaces are somewhat incompatible with Clearcase views.

For embedded systems, I use it for C/C++ development on these platforms listed below:

  • TI Code Composer 4.0 is based on Eclipse
  • Freescale Code Warrior is based on Eclipse
  • Leaf Labs Maple
Older Posts »

Blog at