Preface
Who Should Read this Book
This book is aimed primarily at the intermediate VxWorks user. Although there is one chapter containing information about building images, booting targets and using some of the command line tools that come with VxWorks, the reader is expected to have done this at least from the Tornado IDE before. New users of VxWorks would be well advised to spend time reading the Getting Started Guide and the VxWorks Programmer's Guide, as well as working through the examples in there with a real target (i.e. not the simulator - this is important as it will give familiarity with the bootrom and some of the issues of using a network connected target that are just not apparent when using the simulators). If at all possible, attending a VxWorks training class is strongly recommended; to get the best from such a class make sure you have read the two books listed above, and at least tried most of the worked examples first though. This book is going to focus on taking your understanding of VxWorks to the next level. It will look briefly at some of the command line tools available in every Tornado/VxWorks installation, but the majority of the book is going to be discussing the VxWorks runtime code, and providing examples for solving many of the commonly asked about problems.What is VxWorks?
Most would say it is an operating system, or more precisely a real-time operating system (RTOS), but in reality it is a toolkit from which a user can build an RTOS. No two VxWorks systems will be the same; the designer of each system makes some configuration choices when building their VxWorks image making each one unique. That is why VxWorks is more of an RTOS builders toolkit, than an RTOS in its own right. This toolkit property is what makes VxWorks so powerful, but it is also the cause of much of the complexity a user of the system sees when trying to configure it. The key features of VxWorks are:
- The WIND microkernel
- A simple I/O system framework
- A full TCP/IP network stack (ported from the BSD 4.4 implementation)
- Debugging tools (choice of target-resident, or host based via a relatively small target agent)
In addition to that there are many optional packages, some from Wind River and some from third party companies. These extensions cover pretty much everything from network switching protocols to embedded Java virtual machines.
- ANSI C, C++ and POSIX libraries
John Gordon is an embedded systems software specialist who has been working with VxWorks for almost 10 years. Most recently he was the systems designer, technical lead and the de-facto chief advocate for Wind River's VxWorks AE RTOS, and has been working on the core of the VxWorks runtime since 1998 when he joined Wind River. Prior to that, he worked for a U.K. defense contractor, where he was instrumental in the design of a very successful multi-processor VxWorks-based real-time system for use in naval electronic warfare equipment. Currently, as well as contributing material, and overseeing the creation of this book, he is an embedded systems software consultant working in the San Francisco bay area. John also contributes regularly to the comp.os.vxworks usenet forum. He can be contacted at john_94501@yahoo.com, but will not respond to private requests for free assistance there (please post such requests to the usenet forum).
Add your TWiki username here if you make any contributions-- JohnGordon - 20 Jul 2003