Embedded software needs have grown exponentially over the past quarter century. In 1975 writing 10,000 lines of assembly code was a considered a huge undertaking. Today, a cell phone can contain five million lines of C or C++! Embedded software developers must have a strong grasp of many complex topics in order to make faster, more efficient and more powerful microprocessors to meet the public’s growing demand. This practical guide, written by industry pioneer Colin Walls, helps embedded design engineers to rise to that challenge.
The author offers expertise and insights from his quarter century of design experience, covering a plethora of major concerns in an easy-to-reference essay format that provides the reader with detailed tips and techniques, and rigorous explanations of technologies. Contributions from other well-known designers in the embedded systems field offer additional seasoned perspectives on everything from exotic memories to USB software. This one book has an amazing breadth of coverage, undertaking all the key subjects embedded engineers need to understand in order to succeed, including Design and Development, Programming, Languages including C/C++, and UML, Real Time Operating Systems Considerations, Networking, Programmable Logic and much more.
For those in the field who are looking to broaden their professional skill-sets in order to advance, as well as those "newbies" just entering the field of embedded systems design, this comprehensive new reference is a must-have!
The accompanying CD-ROM contains source code for the many real-world examples in the text, to save readers from needless re-typing. Also included are PowerPoint slides to create training seminars or classes from the text, and various product-related spec sheets.
- Provides an amazing breadth of coverage by undertaking all the key subjects embedded engineers need to understand
- Author is a true pioneer in the field, with almost 30 years' experience
- Accompanying CD-ROM includes training materials and source code for the many real-world examples in the text
PRIMARY MARKET: Embedded Design Developers, Computer Engineers, Software Engineers, Electrical Engineers, System Engineers, System Architects
SECONDARY MARKET: Upper-level Undergrad and Post-graduate Computer Engineering Students
Foreward Preface What’s on the CD-ROM?
- 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
- 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 xrUML
- 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
- 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++
- 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 non-volatile RAM with C++
- 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
- 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
- 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 Afterword Index
- No. of pages:
- © Newnes 2006
- 2nd September 2005
- Paperback ISBN:
- eBook ISBN:
Embedded Systems Division, Mentor Graphics, London, UK.
"This one book has an amazing breadth of coverage, undertaking all the key subjects embedded engineers need to understand in order to succeed." - eg3.com, November 2005