T-Engine: the Open, Real-Time Embedded-Systems Platform
Total Page:16
File Type:pdf, Size:1020Kb
T-ENGINE: THE OPEN, REAL-TIME EMBEDDED-SYSTEMS PLATFORM THE GROWING POPULARITY OF REAL-TIME EMBEDDED SYSTEMS CREATES AN URGENT NEED FOR IMPROVED PERFORMANCE AND EXPANDED FUNCTIONALITY. THIS OPEN ARCHITECTURE HELPS OPTIMIZE THESE SYSTEMS. Computer system architecture has specifications. These changes underscore the conventionally been standardized, as evidenced need for a standardized system. However, by the IBM System 360 architecture for main- architects must still develop and customize frame computers, the IBM PC specifications real-time embedded systems to accommodate for desktops, and today’s so-called Wintel individual devices and their specific needs. (Windows-Intel) specifications. Standardized This hinders improvements in software pro- architectures have significantly improved the ductivity, and software makers now find it dif- reusability of both hardware and software, and ficult to meet market demands. the efficiency of system configurations. For these reasons, we recently developed a No such standardized architecture has system architecture standard for real-time arisen for real-time embedded systems. This is embedded systems called T-Engine. because conventional, real-time embedded systems use low-performance microprocessors Philosophy to keep hardware cost small, which makes it T-Engine is a standard architecture for next- necessary to optimize hardware and software generation, real-time embedded systems aimed Ken Sakamura for each application. Standardization of sys- at improving software productivity for these tem architecture only results in increased systems. An open consortium, the T-Engine Noboru Koshizuka waste in systems and the failure to satisfy econ- Forum (http://www.t-engine.org) in the omy and performance demands. TRON Project (http://www.tron.org), devel- University of Tokyo The growing application of real-time oped this architecture. Consortium members embedded systems to personal digital assis- include computer hardware and software ven- tants (PDAs), mobile computing devices, and dors, telecommunication carriers, and com- pervasive/ubiquitous computing systems has puter-using companies. T-Engine development created an urgent demand for more diverse followed a strong philosophy that recognizes software in these systems. Moreover, applica- the importance of an open standard, middle- tions increasingly rely on software that can ware distribution, a good balance between vir- handle more complex tasks such as security- tualization and adaptation, chip-free hardware related jobs, distributed processing, ciphering standardization, and security. and authentication, and multimedia process- ing of voice and video data. These changing Open standard requirements for the computer environment The open system is an important part of the create a disadvantage in terms of reusability, philosophy for a next-generation, real-time development cost, and time to market for con- embedded-systems architecture. An open sys- ventional systems based on custom-made tem is based on certain commonly available, 48 0272-1732/02/$17.00 2002 IEEE established specifications. Should an imple- ware—even if they come from different devel- mented system based on an open standard opers—and encourages distribution of the contain faults, any designer can develop portable software to software developers. another system compatible with the open Some projects attempt to enhance the standard and fix the problems. Thus, open reusability of software by applying object-ori- systems prevent any company or organization ented component technology (http://www. with a proprietary system from monopolizing cs.wustl.edu/~schmidt/TAO.html and http:// the particular market segment where such www.ovmj.org).2-3 This approach is useful for software with specific functions is in demand. large systems, such as for military equipment This open-system feature is significant for real- and aircraft. But it’s not suitable for small, time embedded systems, because such systems commercial, embedded systems, such as must combine various computer systems. mobile phones and office equipment (prod- In the Unix community, open systems are ucts that face severe price competition) because popular, and many software systems adopt the object-oriented approach often requires open licenses. The most well-known open-sys- substantial hardware resources. T-Engine tar- tem project is the GNU Project (http://www. gets these smaller systems. gnu.org) headed by R. Stallman. Many other The T-Engine architecture contains the successful open-system projects include Linux minimum amount of software needed to fill (http://www.linux.org), FreeBSD (http://www. the gap between different units of hardware, freebsd.org), and Apache (http://www.apache. enhancing this software’s portability and min- org). imizing its runtime overhead. To ensure this For embedded systems, on the other hand, portability, the kernel provides only a mini- a major open system project is the Real-Time mum set of well-defined application program Operating System Nucleus, or TRON.1 interfaces (APIs). Aside from the APIs, we TRON’s openness lets anyone freely use its define a set of standard software formats called software and hardware specifications, regard- T-Format, which includes format specifica- less of whether the application is commercial tions for binary code, style guidelines for or not, or the source code is open or closed. source code, and formats for rules and docu- Unlike GNU’s general public license, TRON ments. To ensure software portability, in addi- neither forces anyone to disclose changes tion to defining T-Format, we standardize the made to its original specifications nor forbids software development environment and offer anyone from mixing open with nonopen sys- a solution to architects that will reinforce their tems. Moreover, the TRON project’s specifi- education process, helping to popularize the cations for reference implementation are also use of these standards. open. In general, embedded systems do not virtualize system hardware resources because Virtualization versus adaptation of the emphasis on performance, often mak- Advances made in hardware mounting ing direct hardware access essential. Because technology have exponentially increased the of this fact, open-source code for such systems computing capability and storage capacity of could let anyone access confidential informa- embedded computers. Therefore, you no tion about the proprietary hardware used in longer have to run programs within just a few such systems. Therefore, with embedded sys- dozen kilobytes of memory on an 8-bit micro- tems, practical development would be impos- processor. Nevertheless, to save power and sible if the systems were entirely open. resources, it’s still important to make embed- ded systems as compact as possible and reduce Middleware distribution CPU load. It’s clear that the computer indus- To improve the productivity of real-time try will not accept a system architecture that embedded-systems development, it’s impor- requires excessive virtualization of its hard- tant to enhance software reusability. To ware resource management. Managing hard- achieve this, software developers must make ware resources in software with excessive portable software that can run on various virtualization is simply too slow and consumes hardware systems. This lets multiple software too much CPU time. For this reason, we programs run together on the same hard- defined standard specifications for the T- NOVEMBER–DECEMBER 2002 49 T-ENGINE Target system Development Product system Development system environment system Software layers T-builder Application software in T-Format Application layer GNU C compiler GNU Middleware layer Middleware in T-Format assembler GNU debugger Kernel layer T-Kernel front end Unix-based OS Monitor layer T-Monitor Monitor Hardware layer pT-Engine Debug support nT-Engine hardware µT-Engine In-circuit emulator T-Engine appliance T-Engine Functional Functional specification specification Product-based Physical physical specification specification Scale Scale Figure 1. Model of the T-Engine architecture. Engine architecture while carefully balancing The growing number of security incidents has virtualization and adaptation, in accordance become a concern for computer users with state-of-the-art hardware technology. (http://www.cert.org).4 Many specialists believe that one underlying cause of this problem is that Chip-free hardware standard Internet builders failed to anticipate such secu- In terms of system adaptability, it would do rity incidents.5 In tomorrow’s ubiquitous com- more harm than good to standardize CPUs, puting environment, computers will be fully considering the current state of technology, integrated to support daily activities, so we must which uses a large variety of CPUs. For the T- discard optimistic perspectives regarding com- Engine architecture, we standardize hardware puter security. In such an environment, once a at the board level and leave the CPU type cracker succeeds in intruding into your com- undefined. Consequently, many types of hard- puter through a network, boiling water could ware units with different CPUs are compati- gush from the bathtub, an electronic oven might ble with the T-Engine specification. Hence, burst into flames, or the TV could suddenly it’s necessary to recompile source code to start broadcasting a baseball game at too high a ensure software portability. Compatibility is volume.6 Therefore, in the T-Engine architec- at the source, not binary, level. ture’s basic