logo资料库

Embedded Software: The Works.pdf

第1页 / 共417页
第2页 / 共417页
第3页 / 共417页
第4页 / 共417页
第5页 / 共417页
第6页 / 共417页
第7页 / 共417页
第8页 / 共417页
资料共417页,剩余部分请下载后查看
front cover
copyright
Dedication
table of contents
front matter
Foreword: What Do You Expect - Perfection?
Preface
How This Book Came About
Where This Book Came From
What You Will Find Here
Who This Book Is For
How to Use This Book
Acknowledgments
Contributors
A Good Cause
Contact Me
What's on the CD-ROM?
Code Fragments
body
1 Embedded Software
1.1 What Makes an Embedded Application Tick?
1.2 Memory in Embedded Systems
1.3 Memory Architectures
1.4 How Software Influences Hardware Design
1.5 Migrating Your Software to a New Processor Architecture
1.6 Testing Computers on Wheels
1.7 Embedded Software for Transportation Applications
1.8 How to Choose a CPU for Your System on Chip Design
1.9 An Introduction to USB Software
1.10 USB On-the-Go
2 Design and Development
2.1 Emerging Technology for Embedded Systems Software Development
2.2 Making Development Tool Choices
2.3 Eclipse - Bringing Embedded Tools Together
2.4 A Development System That Crosses RTOS Boundaries
2.5 Embedded Software and UML
2.6 Model-Based Systems Development with xtUML
3 Programming
3.1 Programming for Exotic Memories
3.2 Self-Testing in Embedded Systems
3.3 A Command-Line Interpreter
3.4 Traffic Lights: An Embedded Software Application
3.5 PowerPC Assembler
4 C Language
4.1 C Common
4.2 Using C Function Prototypes
4.3 Interrupt Functions and ANSI Keywords
4.4 Optimization for RISC Architectures
4.5 Bit by Bit
4.6 Programming Floating-Point Applications
4.7 Looking at C - A Different Perspective
4.8 Reducing Function Call Overhead
4.9 Structure Layout - Become an Expert
4.10 Memory and Programming in C
4.11 Pointers and Arrays in C and C++
5 C++
5.1 C++ in Embedded Systems - A Management Perspective
5.2 Why Convert from C to C++?
5.3 Clearing the Path to C++
5.4 C++ Templates - Benefits and Pitfalls
5.5 Exception Handling in C++
5.6 Looking at Code Size and Performance with C++
5.7 Write-Only Ports in C++
5.8 Using Nonvolatile RAM with C++
6 Real Time
6.1 Real-Time Systems
6.2 Visualizing Program Models of Embedded Systems
6.3 Event Handling in Embedded Systems
6.4 Programming for Interrupts
7 Real-Time Operating Systems
7.1 Debugging Techniques with an RTOS
7.2 A Debugging Solution for a Custom Real-Time Operating System
7.3 Debugging - Stack Overflows
7.4 Bring in the Pros - When to Consider a Commercial RTOS
7.5 On the Move
7.6 Introduction to RTOS Driver Development
7.7 Scheduling Algorithms and Priority Inversion
7.8 Time versus Priority Scheduling
7.9 An Embedded File System
7.10 OSEK - An RTOS Standard
8 Networking
8.1 What's Wi-Fi?
8.2 Who Needs a Web Server?
8.3 Introduction to SNMP
8.4 IPv6 - The Next Generation Internet Protocol
8.5 The Basics of DHCP
8.6 NAT Explained
8.7 PPP - Point-to-Point Protocol
8.8 Introduction to SSL
8.9 DHCP Debugging Tips
8.10 IP Multicasting
9 Embedded Systems and Programmable Logic
9.1 FPGAs and Processor Cores: The Future of Embedded Systems?
9.2 FPGA-Based Design Delivers Customized Embedded Solutions
9.3 Xilinx MicroBlaze Soft-Core Processor
9.4 Real-Time Operating Systems for FPGA
back matter
Afterword: Great Expectations
index
H795-Prelims.qxd 07/16/05 7:19 PM Page i Embedded Software: The Works
H795-Prelims.qxd 07/16/05 7:19 PM Page ii
H795-Prelims.qxd 07/16/05 7:19 PM Page iii Embedded Software: The Works Colin Walls AMSTERDAM • BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO Newnes is an imprint of Elsevier
H795-Prelims.qxd 07/16/05 7:19 PM Page iv Newnes is an imprint of Elsevier 30 Corporate Drive, Suite 400, Burlington, MA 01803, USA 525 B Street, Suite 1900, San Diego, California 92101-4495, USA 84 Theobald’s Road, London WC1X 8RR, UK This book is printed on acid-free paper. Copyright © 2006, Mentor Graphics. All rights reserved. No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopy, recording, or any information storage and retrieval system, without permission in writing from the publisher. Permissions may be sought directly from Elsevier’s Science & Technology Rights Department in Oxford, UK: phone: (+44) 1865 843830, fax: (+44) 1865 853333, e-mail: permissions@elsevier.com.uk. You may also complete your request on-line via the Elsevier homepage (http://elsevier.com), by selecting “Customer Support” and then “Obtaining Permissions.” Library of Congress Cataloging-in-Publication Data Walls, Colin. Embedded software : the works / Colin Walls. p. cm. Includes bibliographical references and index. ISBN 0-7506-7954-9 (alk. paper) 1. Embedded computer systems–Programming. I. Title. TK7895.E42W35 2005 005.1–dc22 2005014209 British Library Cataloguing in Publication Data A catalogue record for this book is available from the British Library For all information on all Elsevier Newnes publications visit our Web site at www.books.elsevier.com Printed in the United States of America 05 5 06 09 07 08 9 8 7 6 4 3 2 1
H795-Prelims.qxd 07/16/05 7:19 PM Page v Dedication To Blood Donors Everywhere Your generosity saves lives every day. Thank you.
H795-Prelims.qxd 07/16/05 7:19 PM Page vi
H795-Prelims.qxd 07/16/05 7:19 PM Page vii Contents Foreword ...................................................................................................................xi Preface .......................................................................................................................xv What’s on the CD-ROM? .........................................................................................xxi 1. Embedded Software ..............................................................................................1 1.1 What Makes an Embedded Application Tick? .....................................................2 1.2 Memory in Embedded Systems ............................................................................9 1.3 Memory Architectures .......................................................................................13 1.4 How Software Influences Hardware Design .......................................................19 1.5 Migrating Your Software to a New Processor Architecture ...............................23 1.6 Testing Computers on Wheels ............................................................................31 1.7 Embedded Software for Transportation Applications ........................................33 1.8 How to Choose a CPU for Your System on Chip Design .................................37 1.9 An Introduction to USB Software .....................................................................40 1.10 USB On-the-Go ...............................................................................................45 2. Design and Development....................................................................................49 2.1 Emerging Technology for Embedded Systems Software Development ..............50 2.2 Making Development Tool Choices ...................................................................56 2.3 Eclipse—Bringing Embedded Tools Together ....................................................67 2.4 A Development System That Crosses RTOS Boundaries ...................................71 2.5 Embedded Software and UML ..........................................................................75 2.6 Model-Based Systems Development with xtUML .............................................87 3. Programming........................................................................................................91 3.1 Programming for Exotic Memories ....................................................................92 3.2 Self-Testing in Embedded Systems .....................................................................97 3.3 A Command-Line Interpreter ..........................................................................102 3.4 Traffic Lights: An Embedded Software Application ........................................112 3.5 PowerPC Assembler .........................................................................................117 4. C Language.........................................................................................................122 4.1 C Common ......................................................................................................123 4.2 Using C Function Prototypes ...........................................................................126 vii
分享到:
收藏