ESC Boston Technology Class sampler

Among scores of classes presented at ESC Boston was a two-part session on ''Introduction to Real-Time and Embedded Systems,'' by Robert Oshana, engineering manager at Texas Instruments.

By Control Engineering Staff

11/13/2003

Share

Among scores of classes presented at ESC Boston was a two-part session on ''Introduction to Real-Time and Embedded Systems,'' by Robert Oshana, engineering manager at Texas Instruments . The presentation followed the lines of fully defining and characterizing such systems (with cited examples) along with describing a real-time design process.Partitioning between hardware and software functions is one several challenging decisions in embedded computing, and it has to be done early in the development cycle. A general approach is to have ''features with confidence'' go into hardware and more changeable features into software, explains Oshana. ''It’s part art; and not all science,'' he says. Many trade-offs are needed, along with simulation. The partitioning process can take weeks or months or more to do properly. Evaluation boards (available for a few hundred dollars) can play a large role, enabling upfront development and benchmarking, but they’re not a panacea.

One characteristic of embedded systems is being optimized for the application. So it makes sense to optimize areas of code that run a lot. Moreover, optimized software coding, such as efficient use of registers and eliminating recursive procedure calls can reduce energy consumption of embedded products.

Architectural considerations are important. System architecture has to be able to rapidly switch among “stimulus handlers” so that timing demands of different stimuli/responses are met. A simple sequential loop typically is not adequate to meet such timing demands. Since real-time systems are normally designed as cooperating processes, a real-time executive is needed for control.

A typical embedded system development flow includes research, proof of concept, hardware/software system test, system integration, prototype, and production steps. Integrated tools in a host are used for the development, with results downloaded to the target application. Referring to the development process, ''Make it work right first, then make it work fast,'' says Oshana.