Muutke küpsiste eelistusi

E-raamat: Embedded Software: Know It All

(Author and President of Micrium, Weston, FL, USA), , , , , , (Director of Engineering, Fr), , (Founder and Principal Consultant, The Ganssle Group, Baltimore,MD, USA; Technical editor and columnist for Embedded Systems Programming magazine),
  • Formaat: PDF+DRM
  • Sari: Newnes Know it All
  • Ilmumisaeg: 14-Sep-2007
  • Kirjastus: Newnes (an imprint of Butterworth-Heinemann Ltd )
  • Keel: eng
  • ISBN-13: 9780080552026
  • Formaat - PDF+DRM
  • Hind: 54,33 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: PDF+DRM
  • Sari: Newnes Know it All
  • Ilmumisaeg: 14-Sep-2007
  • Kirjastus: Newnes (an imprint of Butterworth-Heinemann Ltd )
  • Keel: eng
  • ISBN-13: 9780080552026

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

The Newnes Know It All Series takes the best of what our authors have written to create hard-working desk references that will be an engineer's first port of call for key information, design techniques and rules of thumb. Guaranteed not to gather dust on a shelf!

Embedded software is present everywhere – from a garage door opener to implanted medical devices to multicore computer systems. This book covers the development and testing of embedded software from many different angles and using different programming languages. Optimization of code, and the testing of that code, are detailed to enable readers to create the best solutions on-time and on-budget. Bringing together the work of leading experts in the field, this a comprehensive reference that every embedded developer will need!

Chapter 1: Basic Embedded Programming Concepts
Chapter 2: Device Drivers
Chapter 3: Embedded Operating Systems
Chapter 4: Networking
Chapter 5: Error Handling and Debugging
Chapter 6: Hardware/Software Co-Verification
Chapter 7: Techniques for Embedded Media Processing
Chapter 8: DSP in Embedded Systems
Chapter 9: Practical Embedded Coding Techniques
Chapter 10: Development Technologies and Trends

*Proven, real-world advice and guidance from such “name? authors as Tammy Noergard, Jen LaBrosse, and Keith Curtis
*Popular architectures and languages fully discussed
*Gives a comprehensive, detailed overview of the techniques and methodologies for developing effective, efficient embedded software

Muu info

Embedded software is the engine-room of the embedded computing systems ubiquitous in today's electronic products and industrial systems - this is the one-stop resource for embedded software developers!
About the Authors x
Introduction xiii
Basic Embedded Programming Concepts
1(84)
Numbering Systems
2(3)
Signed Binary Numbers
5(8)
Data Structures
13(16)
Communications Protocols
29(8)
Mathematics
37(9)
Numeric Comparison
46(13)
State Machines
59(15)
Multitasking
74(11)
Device Drivers
85(84)
In This
Chapter
85(4)
Example 1: Device Drivers for Interrupt-Handling
89(21)
Example 2: Memory Device Drivers
110(24)
Example 3: Onboard Bus Device Drivers
134(9)
Board I/O Driver Examples
143(25)
Summary
168(1)
Embedded Operating Systems
169(72)
In This
Chapter
169(6)
What Is a Process?
175(2)
Multitasking and Process Management
177(36)
Memory Management
213(17)
I/O and File System Management
230(2)
OS Standards Example: POSIX (Portable Operating System Interface)
232(3)
OS Performance Guidelines
235(2)
OSes and Board Support Packages (BSPs)
237(2)
Summary
239(2)
Networking
241(92)
Introduction to the RCM3200 Rabbit Core
243(1)
Introduction to the Dynamic C Development Environment
244(2)
Brief Introduction to Dynamic C Libraries
246(1)
Memory Spaces in Dynamic C
247(9)
How Code Is Compiled and Run
256(3)
Setting Up a PC as an RCM3200 Development System
259(1)
Time to Start Writing Code!
259(15)
Embedded Networks
274(1)
Dynamic C Support for Networking Protocols
275(4)
Typical Network Setup
279(3)
Setting Up a Core Module's Network Configuration
282(6)
Project 1: Bringing Up a Rabbit Core Module for Networking
288(5)
The Client Server Paradigm
293(1)
The Berkeley Sockets Interface
294(4)
Using TCP versus UDP in an Embedded Application
298(2)
Important Dynamic C Library Functions for Socket Programming
300(3)
Project 2: Implementing a Rabbit TCP/IP Server
303(8)
Project 3: Implementing a Rabbit TCP/IP Client
311(11)
Project 4: Implementing a Rabbit UDP Server
322(6)
Some Useful (and Free!) Networking Utilities
328(3)
Final Thought
331(2)
Error Handling and Debugging
333(66)
The Zen of Embedded Systems Development and Troubleshooting
333(7)
Avoid Debugging Altogether---Code Smart
340(1)
Proactive Debugging
341(1)
Stacks and Heaps
342(2)
Seeding Memory
344(2)
Wandering Code
346(1)
Special Decoders
347(1)
MMUs
348(1)
Conclusion
349(1)
Implementing Downloadable Firmware with Flash Memory
350(1)
The Microprogrammer
350(1)
Advantages of Microprogrammers
351(1)
Disadvantages of Microprogrammers
351(1)
Receiving a Microprogrammer
352(2)
A Basic Microprogrammer
354(1)
Common Problems and Their Solutions
355(7)
Hardware Alternatives
362(2)
Memory Diagnostics
364(1)
ROM Tests
365(2)
RAM Tests
367(5)
Nonvolatile Memory
372(1)
Supervisory Circuits
372(2)
Multibyte Writes
374(4)
Testing
378(1)
Conclusion
378(1)
Building a Great Watchdog
379(3)
Internal WDTs
382(2)
External WDTs
384(2)
Characteristics of Great WDTs
386(3)
Using an Internal WDT
389(2)
An External WDT
391(2)
WDTs for Multitasking
393(2)
Summary and Other Thoughts
395(4)
Hardware/Software Co-Verification
399(44)
Embedded System Design Process
399(2)
Verification and Validation
401(2)
Human Interaction
403(2)
Co-Verification
405(38)
Techniques for Embedded Media Processing
443(86)
A Simplified Look at a Media Processing System
445(6)
System Resource Partitioning and Code Optimization
451(1)
Event Generation and Handling
452(3)
Programming Methodology
455(1)
Architectural Features for Efficient Programming
456(9)
Compiler Considerations for Efficient Programming
465(7)
System and Core Synchronization
472(4)
Memory Architecture---the Need for Management
476(12)
Physics of Data Movement
488(7)
Media Processing Frameworks
495(2)
Defining Your Framework
497(8)
Asymmetric and Symmetric Dual-Core Processors
505(2)
Programming Models
507(3)
Strategies for Architecting a Framework
510(13)
Other Topics in Media Frameworks
523(6)
DSP in Embedded Systems
529(126)
Overview of Embedded Systems and Real-Time Systems
536(1)
Real-Time Systems
536(1)
Hard Real-Time and Soft Real-Time Systems
537(4)
Efficient Execution and the Execution Environment
541(1)
Challenges in Real-Time System Design
542(11)
Summary
553(1)
Overview of Embedded Systems Development Life Cycle Using DSP
554(1)
The Embedded System Life Cycle Using DSP
554(26)
Optimizing DSP Software
580(1)
What Is Optimization?
580(1)
The Process
581(3)
Make the Common Case Fast
584(1)
Make the Common Case Fast---DSP Architectures
584(3)
Make the Common Case Fast---DSP Algorithms
587(1)
Make the Common Case Fast---DSP Compilers
588(7)
An In-Depth Discussion of DSP Optimization
595(1)
Direct Memory Access
595(1)
Using DMA
596(8)
Loop Unrolling
604(6)
Software Pipelining
610(10)
More on DSP Compilers and Optimization
620(13)
Programmer Helping Out the Compiler
633(13)
Profile-Based Compilation
646(7)
References
653(2)
Practical Embedded Coding Techniques
655(42)
Reentrancy
655(1)
Atomic Variables
656(2)
Two More Rules
658(1)
Keeping Code Reentrant
659(2)
Recursion
661(1)
Asynchronous Hardware/Firmware
661(1)
Race Conditions
662(2)
Options
664(1)
Other RTOSes
665(1)
Metastable States
666(2)
Firmware, Not Hardware
668(3)
Interrupt Latency
671(3)
Taking Data
674(3)
Understanding Your C Compiler: How to Minimize Code Size
677(1)
Modern C Compilers
677(10)
Tips on Programming
687(8)
Final Notes
695(1)
Acknowledgments
696(1)
Development Technologies and Trends
697(48)
How to Choose a CPU for Your System on Chip Design
697(3)
Emerging Technology for Embedded Systems Software Development
700(7)
Making Development Tool Choices
707(14)
Eclipse---Bringing Embedded Tools Together
721(4)
Embedded Software and UML
725(14)
Model-based Systems Development with xtUML
739(4)
The Future
743(2)
Index 745
Jean J. Labrosse is a senior technical staff member at Dynalco Controls in Fort Lauderdale, Fla. He has a master's degree in electrical engineering and has been designing embedded systems for many years. Labrosse is the author of the popular operating system and book MicroC/OS-II: The Real-Time Kernel. He has written articles for numerous magazines, and is a regular lecturer and advisory board member for the Embedded Systems Conference. Jack Ganssle has 30 years' experience developing embedded systems. He has authored two books, The Art of Programming Embedded Systems and The Art of Designing Embedded Systems, and writes a regular column in Embedded Systems Programming magazine. Michael Barr is the editor-in-chief of Embedded Systems Programming magazine and the principal of Netrino Consultants Network. He wrote Programming Embedded Systems in C and C++. Rob Oshana has over 25 years of experience in the real-time embedded industry, in both embedded application development as well as embedded tools development. He is currently director of engineering for the Development Technology group at Freescale Semiconductor. Rob is also a Senior Member of IEEE and an adjunct at Southern Methodist University. He can be contacted at robert.oshana@freescale.com Colin Walls has over forty years' experience in the electronics industry, largely involved with embedded software - very much a pioneer in this specialty. He has been a frequent presenter at conferences and seminars including:

Embedded Systems Conference, San Jose and Boston

Embedded World, Nuremberg

Arm Tech Con, California

Mentor events world-wide

Numerous partner events

Colin has authored a great many technical articles and one of the first books on embedded software [ "Programming Dedicated Microprocessors"; Macmillan Education, 1986]. His most recent publication is "Embedded Software: The Works" [ 2nd edition; Newnes, 2012], which addresses a wide range of embedded software topics. He is an embedded software technologist with Mentor, a Siemens business, and maintains a blog at http://blogs.mentor.com/colinwalls. Colin is based in the UK, where he lives with his family. Away from work, his main interests are photography, reading/writing, and food and drink. Keith E. Curtis earned a BSEE from Montana State University. Following graduation, he was employed by Tele-Tech Corporation as a design and project engineer, and also began consulting part-time as an embedded engineer. He was then employed by Bally Gaming in Las Vegas as an engineer and later the electronics engineering manager, working for various Nevada gaming companies in both design and management. In 2000 he began work as a Principal Application Engineer for Microchip, where he is still employed.He has written a number of articles and regularly gives a popular course on multitasking firmware design at the Embedded Systems Conference. Jason Andrews is currently working in the areas of hardware/software co-verification and testbench methodology for SoC design at Verisity. He has implemented multiple commercial co-verification tools as well as many custom co-verification solutions. His experience in the EDA and embedded marketplace includes software development and product management at Verisity, Axis Systems, Simpod, Summit Design, and Simulation Technologies. He has presented technical papers and tutorials at the Embedded Systems Conference, Communication Design Conference and IP/SoC and written numerous articles related to HW/SW co-verification and design verification. He has a B.S. in electrical engineering from The Citadel, Charleston, S.C., and an M.S. in electrical engineering from the University of Minnesota. He currently lives in the Minneapolis area with his wife, Deborah, and their four children. Rick Gentile joined ADI in 2000 as a Senior DSP Applications Engineer, and he currently leads the Processor Applications Group, which is responsible for Blackfin, SHARC and TigerSHARC processors. Prior to joining ADI, Rick was a Member of the Technical Staff at MIT Lincoln Laboratory, where he designed several signal processors used in a wide range of radar sensors. He has authored dozens of articles and presented at multiple technical conferences. He received a B.S. in 1987 from the University of Massachusetts at Amherst and an M.S. in 1994 from Northeastern University, both in Electrical and Computer Engineering.