My First Embedded Linux Application

July 19, 2012
After I finished the Windows based H.324 video phone in 1997, engineers in ESS asked my plan to port the application to their DVD chip. I told them I would port an embedded Linux to their chip first. They showed me how they were developing VCD and DVD applications on their chip without using any operation system, and convinced me that video phone can be done in the same way.
I was lucky not to continue working on the chip software. The ESS video phone product turned out to be a complete failure a few years later as H.324 never got any market. However, I continued the way to do embedded application without using any operation system, from PA1688 to AR1688 and PA6488.
Years passed quickly, it was in late 2010 when I finally had my first experience with Linux programming tools, I compiled SDCC 3.0.0 on my own under Linux.
While we were trying to find cheap WiFi solution for our PA6488 based products, I got the chance to program on a WiFi router chip 2 weeks ago. Hoping to move audio processing work from PA6488 to the router chip in the future if we build the hardware together, I started with G.729 test vectors as my first embedded Linux application on the router chip.
With all G.729A and G.729AB encode test vectors, about 112 seconds, the router chip used 110 seconds to do the encode work with standard ITU-T source code. After inline function and loop unroll compiler option optimization, it reduced to 62 seconds. When I was going to continue to do more optimization work, I found the compiler I got was too old to compile the new DSP-like instructions which the router chip actually supported. I sent out email for help of newer compiler tools but did not got any response in nearly 2 weeks. So I stopped waiting and began to write this summary.
At first I was planning to put this summary under PA6488 category, but changed my mind considering there might be little chance to see PA6488 actually working with this router chip in a future product, better to treat it as my entertainment of programming at this time.
My first digit photo taken at ESS office in Fremont

No comments for this page yet.

More options? Please login or register account.