BiosBob.Biz

open infrastructure for embedded software

Bob Frankel
Architect • Educator • Programmer

Where I’m coming from....

In early 2009, I officially retired from Texas Instruments—a company I’ve proudly been affiliated with over the past three decades, and where I’ve most recently held the position of Chief Software Strategist and the title of TI Fellow. Educated with a graduate degree in Computer Science from the University of Pennsylvania and experienced in programming a wide-range of embedded processors, my first encounters in the early 1980s with some of TI’s first DSP chips (and the challenges we faced programming these devices in hand-optimized assembly code) forever impressed upon me the importance of transplanting higher-level software methodologies and technologies into the otherwise austere landscape of "bare-deck" silicon used in resource-constrained embedded systems.

Acting upon these impulses—as well as becoming enthralled with the possibilitites of bringing higher-level software to TI’s (then, revolutionary) TMS320C30 processor—I co-founded Spectron Microsystems in 1987, where I conceived and implemented the industry’s first RTOS uniquely targeted for programmable DSPs and specifically tailored for the challenges of real-time signal processing. Known as SPOX, this flagship product of Spectron’s quickly became a mainstay amongst programmers working with leading-edge 32-bits DSPs from Texas Instruments, Motorola, Analog Devices, and others; even Intel embraced the technology within their own Native Signal Processing initiative using a derivative product known as IA-SPOX, which implemented the standard SPOX APIs within (what today we would term) a special-purpose real-time hypervisor executing beneath the Windows kernel on Pentium-class processors.

With 16-bit DSPs enjoying a mass-market renaissance in the mid-1990s, I then led a critical R&D effort within Spectron that responded with a new kernel product more modular, more configurable, and more scalable than anything seen to date—a product named DSP/BIOS, which could now reach very high-volume market segments that had previously eluded SPOX. Initially developed for broad deployment within the boot-ROM of TI’s popular C5x processor family, suffice it to say that licensing negotiations of this magnitude between Spectron and Texas Instruments eventually led the latter company to fully acquire the former in 1998.

Once inside TI, I served as one of the architects and unquestionably the leading evangelist behind the company’s award-winning eXpressDSP strategy—which not only promoted the next-generation Code Composer Studio IDE, but also gave special emphasis to re-usable target software elements like DSP/BIOS as a key factor in slashing time-to-market. Through this initiative, I had personally delivered dozens of training seminars, conference keynotes, and analyst briefings that collectively reached 1000’s across the industry; and through this initiative, usage of DSP/BIOS began to skyrocket starting in the year 2000. With the kernel now reaching 1000’s of new customers each year, DSP/BIOS has secured its position as one of the most widely deployed real-time operating environments in use today—personally gratifying, as it validates the original vision behind the founding of Spectron back in 1987.

Recognizing however that the journey towards embedded software re-use on a grand scale had only just begun, most of my efforts during this decade have focused upon creating RTSC—a set of hosted tools plus some basic runtime software which enables design, development, and deployment of embedded software components written in ANSI C and targeting virtually any embedded hardware. Effectively elevating the C language to an entirely new plateau, RTSC introduces a higher-level programming paradigm that resonates with modern computer science—but without the higher-levels of runtime overhead often associated with some of these approaches, which cannot be tolerated in most embedded applications.

As proof positive, I personally trained and supported an engineering team who “RTSC-ized” the current DSP/BIOS product, yielding a next-generation kernel more portable, more structured, more flexible—and above all, more efficient—than any of its predecessors; other flagship software products fielded by TI have leveraged RTSC to similar advantage. Though originally developed as proprietary software infrastructure, Texas Instruments elected to re-license the RTSC technology in 2008 and sponsor the inception of an open-source project at rtsc.eclipse.org. With the RTSC technology becoming openly-and-freely available for all, the entire community of embedded C programmers can now enjoy the same benefits of higher-level programming and higher-levels of performance TI has already experienced with its next-generation DSP/BIOS.

And where I’m going next....

You know we live in interesting times when one can retire from a company (Texas Instruments) after decades of service, and yet continue to advance the same leading-edge technology (RTSC) one had previously helped incubate while a full-time employee. Thanks to the open-source movement that continues to sweep our industry, I will maintain my present role as Project Committer at rtsc.eclipse.org while simultaneously becoming an even more vigorous proponent of RTSC as vendor-neutral software infrastructure serving all manners of embedded hardware platforms.

Complementing my efforts at rtsc.eclipse.org, I’m presently launching a web-site to facilitate publication and provisioning of embedded software components designed, developed, and deployed using RTSC. Dubbed sysbios.org, the RTSC components available at this site will collectively provide a rudimentary hardware abstraction layer comprising basic I/O and threading services that can support a wide-range of hardware platforms. To the greatest extent possible, sysbios.org will both leverage as well as augment RTSC elements already coming available in TI’s next-generation DSP/BIOS product.

Finally, I’m planning to devote more of my time to education—both writing about RTSC as a new programming paradigm for embedded development in C (as I’ve already started to do through the RTSC-pedia), as well as training and mentoring embedded developers within corporate and university settings alike. Recent experience has convinced me that RTSC can help close the gap between (say) Java—a language often synonymous with modern software practice—and the brutal realities of implementing resource-constrained embedded software in the “ancient” C language still widely spoken today.

If you and your organization should become intrigued with the possibilities of taking embedded software written in C to an entirely new level by leveraging open infrastructure now available to all, then let’s talk....