Getting Started with RTEMS for C C++ Users

Getting Started with RTEMS for C C++ Users

Getting Started with RTEMS for C/C++ Users Edition 4.0.0, for RTEMS 4.0.0 Octob er 1998 On-Line Applications Research Corp oration On-Line Applications Research Corp oration T Xinfo 1.1.1.1 E c COPYRIGHT 1988 - 1998. On-Line Applications Research Corp oration OAR. The authors have used their b est e orts in preparing this material. These e orts include the development, research, and testing of the theories and programs to determine their e ectiveness. No warrantyofany kind, expressed or implied, with regard to the software or the material contained in this do cument is provided. No liability arising out of the application or use of any pro duct describ ed in this do cument is assumed. The authors reserve the right to revise this material and to makechanges from time to time in the content hereof without obligation to notify anyone of such revision or changes. Any inquiries concerning RTEMS, its related supp ort comp onents, or its do cumentation should b e directed to either: On-Line Applications Research Corporation 4910-L Corporate Drive Huntsville, AL 35805 VOICE: 256 722-9985 FAX: 256 722-0985 EMAIL: [email protected] Chapter 1: Intro duction 1 1 Intro duction The purp ose of this do cument is to guide you through the pro cess of installing a GNU cross developmentenvironment to use with RTEMS. If you are already familiar with the concepts b ehind a cross compiler and have a background in Unix, these instructions should provide the bare essentials for p erforming a setup of the following items: GNU C/C++ Cross Compilation To ols for RTEMS on your host system RTEMS OS for the target host GDB Debugger The remainder of this chapter provides background information on real-time emb edded systems and cross development and an overview of other resources of interest on the Internet. If you are not familiar with real-time emb edded systems or the other areas, please read those sections. These sections will help familiarize you with the typ es of systems RTEMS is designed to b e used in and the cross development pro cess used when developing RTEMS applications. 1.1 Real-Time Emb edded Systems Real-time emb edded systems are found in practically every facet of our everyday lives. Today's systems range from the common telephone, automobile control systems, and kitchen appliances to complex air trac control systems, military weap on systems, an d pro duction line control including rob otics and automation. However, in the current climate of rapidly changing technology, it is dicult to reach a consensus on the de nition of a real-time emb edded system. Hardware costs are continuing to rapidly decline while at the same time the hardware is increasing in p ower and functionality. As a result, emb edded systems that were not considered viable two years ago are suddenly a cost e ective solution. In this domain, it is not uncommon for a single hardware con guration to employ a variety of architectures and technologies. Therefore, we shall de ne an emb edded system as any computer system that is built into a larger system consisting of multiple technologies such as digital and analog electronics, mechanical devices, and sensors. Even as hardware platforms b ecome more p owerful, most emb edded systems are critically dep endent on the real-time software emb edded in the systems themselves. Regardless of how eciently the hardware op erates, the p erformance of the emb edded real-time software determines the success of the system. As the complexity of the emb edded hardware platform grows, so do es the size and complexity of the emb edded software. Software systems must routinely p erform activities which were only dreamed of a short time ago. These large, complex, real-time emb edded applications now commonly contain one million lines of co de or more. Real-time emb edded systems have a complex set of characteristics that distinguish them from other software applications. Real-time emb edded systems are driven by and must resp ond to real 2 Getting Started with RTEMS for C/C++ Users world events while adhering to rigorous requirements imp osed by the environment with which they interact. The correctness of the system dep ends not only on the results of computations, but also on the time at which the results are pro duced. The most imp ortant and complex characteristic of real-time application systems is that they must receive and resp ond to a set of external stimuli within rigid and critical time constraints. A single real-time application can be comp osed of b oth soft and hard real-time comp onents. A typical example of a hard real-time system is a nuclear reactor control system that must not only detect failures, but must also resp ond quickly enough to prevent a meltdown. This application also has soft real-time requirements b ecause it mayinvolve a man-machine interface. Providing an interactive input to the control system is not as critical as setting o an alarm to indicate a failure condition. However, th e interactive system comp onent must resp ond within an acceptable time limit to allow the op erator to interact eciently with the control system. 1.2 Cross Development Today almost all real-time emb edded software systems are develop ed in a cross development envi- ronment using cross development to ols. In the cross development environment, software develop- ment activities are typically p erformed on one computer system, the host system, while the result of the development e ort pro duced by the cross to ols is a software system that executes on the target platform. The requirements for the target platform are usually incompatible and quite often in direct con ict with the requirements for the host. Moreover, the target hardware is often custom designed for a particular pro ject. This means that the cross development to olset must allow the develop er to customize the to ols to address target sp eci c run-time issues. The to olset must have provisions for b oard dep endent initialization co de, device drivers, and error handling co de. The host computer is optimized to supp ort the co de development cycle with supp ort for co de editors, compilers, and linkers requiring large disk drives, user development windows, and multiple develop er connections. Thus the host computer is typically a traditional UNIX workstation such as are available from SUN or Silicon Graphics, or a PC running either a version of MS-Windows or UNIX. The host system may also be required to execute oce pro ductivity applications to allow the software develop er to write do cumentation, make presentations, or track the pro ject's progress using a pro ject management to ol. This necessitates that the host computer be general purp ose with resources such as a thirty-two or sixty-four bit pro cessor, large amounts of RAM, a monitor, mouse, keyb oard, hard and oppy disk drives, CD-ROM drive, and a graphics card. It is likely that the system will b e multimedia capable and have some networking capability. Conversely, the target platform generally has limited traditional computer resources. The hardware is designed for the particular functionality and requirements of the emb edded system and optimized to p erform those tasks e ectively. Instead of hard driverss and keyb oards, it is comp osed of sensors, relays, and stepp er motors. The p er-unit cost of the target platform is typically a critical concern. No hardware comp onent is included without b eing cost justi ed. As a result, the pro cessor of the target system is often from a di erent pro cessor family than that of the Chapter 1: Intro duction 3 host system and usually has lower p erformance. In addition to the pro cessor families targeted only for use in emb edded systems, there are versions of nearly every general-purp ose pro cess or sp eci cally tailored for real-time emb edded systems. For example, many of the pro cessors targeting the emb edded market do not include hardware oating p oint units, but do include p eripherals such as timers, serial controllers, or network interfaces. 1.3 Resources on the Internet This section describ es various resources on the Internet which are of use to RTEMS users. 1.3.1 RTEMS Mailing List [email protected] This mailing list is dedicated to discussion of issues related to RTEMS. If you have questions ab out RTEMS, wish to make suggestions, or just want to pick up hints, this is a go o d list to subscrib e to. Subscrib e by sending a message with the one line "subscrib e" to [email protected]. 1.3.2 CrossGCC Mailing List [email protected] This mailing list is dedicated to the use of the GNU to ols in cross development environments. Most of the discussions fo cus on emb edded issues. Subscrib e by sending a message with the one line "subscrib e" to [email protected]. The crossgcc FAQ as well as a number of patches and utiliities of interest to cross development system users are available at ftp://ftp.cygnus.com/pub/emb edded/crossgcc. 1.3.3 EGCS Mailing List [email protected] This mailing list is dedicated to the EGCS Pro ject whichwas formed to sp eed the development and integration of the various GNU languages. The RTEMS and Linux communities were among those initially targetted by the EGCS Pro ject as b eing imp ortant for its success.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    34 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us