Hardware/firmware interface design best practices for improving embedded systems development

Why care about hardware/firmware interaction? These interfaces are critical, a solid hardware design married with adaptive firmware can access all the capabilities of an application and overcome limitations caused by poor communication. For the first time, a book has come along that will help hardwa...

Descripción completa

Detalles Bibliográficos
Autor principal: Stringham, Gary (-)
Formato: Libro electrónico
Idioma:Inglés
Publicado: Burlington, MA : Newnes c2010.
Edición:1st edition
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009627996206719
Tabla de Contenidos:
  • Front Cover; Title Page; Copyright Page; Table of Contents; Preface; Chapter 1: Introduction; 1.1. What Is the Hardware/Firmware Interface?; 1.1.1. What Are Hardware, Chips, and Blocks?; 1.1.2. What Are Firmware and Device Drivers?; 1.2. What Is a Best Practice?; 1.2.1. What Is a Principle?; 1.2.2. Benefits of Principles and Practices; 1.3. "First Time Right" Also Means ...; 1.3.1. Easier to Program; 1.3.2. Easier to Debug; 1.3.3. Easier to Work around Defects; 1.4. Target Audience; 1.4.1. Hardware Engineers; 1.4.2. Firmware Engineers; 1.4.3. This Book in a University Setting
  • 1.5. Project Life Cycle1.6. Case Study; 1.6.1. Monochrome Video Block in the Unity ASIC; 1.6.2. A Case Study of a Good Example?; 1.7. Summary; References; Chapter 2: Principles; 2.1. Seven Principles of Hardware/Firmware Interface Design; 2.1.1. Collaborate on the Design; 2.1.2. Set and Adhere to Standards; 2.1.3. Balance the Load; 2.1.4. Design for Compatibility; 2.1.5. Anticipate the Impacts; 2.1.6. Design for Contingencies; 2.1.7. Plan Ahead; 2.2. Summary; Chapter 3: Collaboration; 3.1. First Steps; 3.1.1. Roles; 3.1.2. Kick-off Activities; 3.2. Formal Collaboration
  • 3.2.1. Regular Meetings3.2.2. Initial Firmware Support; 3.2.3. Co-Development Techniques; 3.2.4. End-Game Hardware Support; 3.2.5. Documentation; 3.3. Informal Collaboration; 3.3.1. Formal Organizational Structure; 3.3.2. Hardware Engineers' Initiative; 3.3.3. Firmware Engineers' Initiative; 3.3.4. Collaborative Problem Solving; 3.4. Summary; 3.4.1. Supporting Principles; References; Chapter 4: Planning; 4.1. Industry Standards; 4.1.1. Existing Standards; 4.1.2. Implementing the Standard; 4.1.3. Derivations or New Creations; 4.2. Common Version; 4.3. Compatibility
  • 4.3.1. Range of Backward and Forward Compatibility4.3.2. Combinations of Old vs. New; 4.4. Defects; 4.4.1. Document Defects; 4.4.2. Fix Defects; 4.4.3. Test Plan to Look for Defects; 4.5. Analysis; 4.5.1. Shared Pins; 4.5.2. Buffer Management; 4.5.3. Hardware/Firmware Interactions; 4.5.4. Analyzing Third-Party IP; 4.6. Postmortem; 4.7. Summary; 4.7.1. Supporting Principles; Chapter 5: Documentation; 5.1. Types; 5.1.1. Level and Types of Documentation; 5.1.2. Chip-Level vs.Block-Level Documentation; 5.1.3. Supported vs. Unsupported Documentation; 5.2. Document Management
  • 5.2.1. Document Standards5.2.2. When to Write; 5.2.3. Accuracy; 5.3. Reviews; 5.3.1. When to Review; 5.3.2. Tracking Documentation Changes; 5.3.3. Firmware Engineers' Responsibilities Regarding Reviews; 5.4. Content; 5.4.1. General Content; 5.4.2. Sample Document Template; 5.4.3. History; 5.4.4. Features and Assumptions; 5.4.5. Reference and Tutorial; 5.4.6. Glossary and Errata; 5.5. Registers; 5.5.1. Document Registers; 5.5.2. Register Design Tools; 5.5.3. Table of Registers; 5.5.4. Register Details and Description; 5.6. Bits; 5.6.1. Register Map Format
  • 5.6.2. Bit Positions, Types, and Defaults