Embedded Firmware Solutions : Development Best Practices for the Internet of Things.

Yazar:Zimmer, Vincent
Katkıda bulunan(lar):Sun, Jiming | Jones, Marc | Reinauer, Stefan
Materyal türü: KonuKonuYayıncı: Berkeley, CA : Apress L. P., 2015Telif hakkı tarihi: �2015Tanım: 1 online resource (215 pages)İçerik türü:text Ortam türü:computer Taşıyıcı türü: online resourceISBN: 9781484200704Tür/Form:Electronic books.Ek fiziksel biçimler:Print version:: Embedded Firmware SolutionsDDC sınıflandırma: 005.3 LOC classification: TS171.57Çevrimiçi kaynaklar: Click to View
İçindekiler:
Intro -- Contents at a Glance -- Contents -- About the Authors -- About the Technical Reviewers -- Acknowledgments -- Foreword -- Introduction -- Chapter 1: Introduction -- What Is Embedded Firmware? -- Where Is Firmware? -- What Do Firmware Engineers Do? -- Firmware Preparation for New Hardware -- The Mystery of Bits -- Programming Guides -- The Intel� Firmware Support Package -- The Uniqueness of Embedded Firmware -- The Choice of Firmware Stacks -- Welcome to the Era of the Internet of Things -- Technical Coverage in This Book -- The Future of Firmware -- Chapter 2: Firmware Stacks for Embedded Systems -- Is a One-Size-Fits-All Solution Possible? -- Microkernel -- Real-Time Operating S ystem (RTOS) -- Legacy BIOS -- Implementations of the UEFI Framework -- Open Source Firmware Stacks -- Proprietary Firmware Stacks -- Make o r Buy -- The Advantages of Outsourcing -- The Disadvantages of Outsourcing -- In-House Development -- Summary -- Chapter 3: Intel� Firmware Support Package (Intel� FSP) -- The Intel FSP Philosophy -- What Is in Intel FSP? -- Intel FSP Binary Format -- Sample Boot Flow -- Locating the Entries of Intel FSP -- The Hard Way to Find Intel FSP APIs: Use Data Structure -- The Easy Way to Find FSP APIs: Use Hard-Coded Constants -- Programming Interface: The APIs of Intel FSP -- TempRamInit -- FspInitEntry -- NotifyPhase -- Intel FSP Output -- API Execution Status -- Temporary Memory Data HOB -- Non-Volatile Storage HOB -- Sample Code for Parsing HOBs -- Customization of Intel FSP -- Downloading Intel FSP -- Microcode Patches -- Relocating Intel FSP -- Integration and Build -- The Future of Intel FSP -- What Is Coming in the Following Chapters -- Chapter 4: Building coreboot with Intel FSP -- The Introduction of coreboot -- The Philosophy of coreboot -- A Brief History -- v1: 1999-2000 -- v2: 2000-2005 -- v2+: 2005-2008.
v3: 2006-2008 -- 2008 LinuxBIOS Renamed "coreboot" -- v4: 2009-2012 -- v4+: 2012-2014 -- Further Reading -- Prerequisites for Working with coreboot -- Community Organization -- Git and Gerrit -- Git Commit Messages -- coreboot Sign-off Procedure -- Developer's Certificate of Origin 1.1 -- Adding Your Sign-off -- Working with the coreboot Community -- coreboot Do's -- coreboot Don'ts -- Nonsource Binaries in coreboot -- A Hands-on Example: Building coreboot for the MinnowBoard MAX Mainboard -- Environment -- Hardware: MinnowBoard MAX -- MinnowBoard MAX Platform Details -- Development Directory -- Downloading Intel FSP -- Installing Intel FSP -- Downloading the coreboot Source -- coreboot Toolchain -- coreboot Commit Hooks -- Creating a coreboot Development Branch -- Building the Mainboard -- On the Menuconfig Menu -- On the Chipset Menu -- On the Devices Menu -- Build -- Summary of Commands -- Flashing the ROM -- Preparing the Flash Programmer -- Flashing the ROM Image -- coreboot Internals -- Boot Stages -- Additional Files -- CBFS -- An Example of CBFS -- CBFS Size -- Special Binaries -- Boot Flow Using Intel FSP -- Reset Vector and Bootblock -- romstage -- ramstage -- Payload -- coreboot Source -- coreboot Device Tree -- Chips and Devices -- Device Tree Variables -- A Device Tree Example -- Chip Operations -- Device Operations -- coreboot Hardwaremain State Machine -- State Machine States -- State Machine Callbacks -- Mainboard -- The Chipset Driver -- Chipset FSP UPD Options -- The FSP Driver -- Kconfig -- xcompile -- Payloads -- SeaBIOS -- GRUB 2 -- FILO -- iPXE -- TianoCore -- Depthcharge -- U- Boot -- Memtest86+ -- libpayload -- coreboot Troubleshooting and Debugging -- Postcodes -- Serial Debug -- EHCI USB Debug -- Summary -- Chapter 5: Chrome book Firmware Internals -- About Chrome book and Chrome OS -- Chrome OS Firmware Overview.
Chrome OS Security Philosophy -- Chrome OS Security Guiding Principles -- Power wash -- Chrome OS Boot Modes -- Verified (Normal) Mode -- Recovery Mode -- Developer Mode -- Chrome OS Coreboot -- x86 -- ARM -- Depth charge Payload -- libpayload -- Verified Boot -- Verified Boot and Kernel Security -- Chrome OS Firmware Boot Log -- Boot Times Log -- Chrome OS Firmware Event Log -- Google SMI Linux Kernel Driver -- Chrome OS Extensions to the Firmware Image -- FMAP -- BOOT_STUB FMAP Section -- Chrome OS Firmware RW FMAP Sections -- An fmap.dts (RW_SECTION_A) Example -- Google Binary Block (GBB) -- GBB: HWID v3 -- GBB: Firmware Bitmaps -- GBB: Firmware Keys -- GBB: Boot Flags -- Vital Product Data ( VPD) -- Firmware TPM Usage -- Chrome OS Firmware Update -- Chrome OS Utilities -- flashrom -- gbb_utility -- GBB Flags Utility Script: set_gbb_flags.sh -- crossystem -- mosys -- Google Embedded Controller -- Power Sequencing -- Battery Charging -- Thermal Management -- Keyboard Controller -- Other Peripheral Controls -- Chrome EC Software Sync -- Software Sync Steps -- Summary -- Chapter 6: Intel FSP and UEFI Integration -- Introduction to EFI -- Introduction to FSP -- Introduction to EDK II -- Summary -- FSP Components -- FSP Wrapper Boot Flow -- Generic FSP Wrapper Boot Flow -- Normal Boot -- Boot Flow -- Memory Layout for a Normal Boot Flow -- FSP Normal Boot Data Structure -- S3 Boot -- Boot Flow -- S3 Memory Layout -- S3 NV Data Passing -- Capsule Flash Update -- Boot Flow -- Capsule Update Memory Layout -- Recovery Boot Flow -- FSP Recovery Memory Layout -- coreboot Payload Based upon EDK II -- Building Minnow and MinnowMax with FSP -- Future of the Intel FSP -- Conclusion -- Chapter 7: Building Firmware for Quark Processors -- Overview of UEFI and PI -- History of Implementations and Specifications -- Introduction to EDK II Building Blocks.
PKG: Packaging -- MdePkg -- MdeModulePkg -- IntelFrameworkPkg -- IntelFrameworkModulePkg -- Packages -- PCD: Platform Configuration Database -- Syntax -- DEC: Platform Declaration File -- Syntax -- DSC: Platform Description File -- FDF: Flash Description File -- Syntax -- Build: The EDK II Build Command -- INF: INF File -- More Information -- Introduction to the EDK II Subset -- Introduction to Quark -- ROM Flash Image Size Optimization -- Fixed Resource -- DRAM/SMRAM -- Remove Features -- Reduce Features -- Compiler Options -- Build Options -- Results of the TinyQuark Optimization -- RAM Footprint Optimization -- Optimization -- Result of Memory Usage Optimization -- Conclusion -- Chapter 8: Putting It All Together -- RTOS and Intel FSP -- Intel FSP and Open Source Philosophy -- Customization and Production of Intel FSP -- It Is a Community Effort After All -- Appendix A: Sample Boot Setting File (BSF) -- Index.
Bu kütüphanenin etiketleri: Kütüphanedeki eser adı için etiket yok. Etiket eklemek için oturumu açın.
    Ortalama derecelendirme: 0.0 (0 oy)
Bu kayda ilişkin materyal yok

Intro -- Contents at a Glance -- Contents -- About the Authors -- About the Technical Reviewers -- Acknowledgments -- Foreword -- Introduction -- Chapter 1: Introduction -- What Is Embedded Firmware? -- Where Is Firmware? -- What Do Firmware Engineers Do? -- Firmware Preparation for New Hardware -- The Mystery of Bits -- Programming Guides -- The Intel� Firmware Support Package -- The Uniqueness of Embedded Firmware -- The Choice of Firmware Stacks -- Welcome to the Era of the Internet of Things -- Technical Coverage in This Book -- The Future of Firmware -- Chapter 2: Firmware Stacks for Embedded Systems -- Is a One-Size-Fits-All Solution Possible? -- Microkernel -- Real-Time Operating S ystem (RTOS) -- Legacy BIOS -- Implementations of the UEFI Framework -- Open Source Firmware Stacks -- Proprietary Firmware Stacks -- Make o r Buy -- The Advantages of Outsourcing -- The Disadvantages of Outsourcing -- In-House Development -- Summary -- Chapter 3: Intel� Firmware Support Package (Intel� FSP) -- The Intel FSP Philosophy -- What Is in Intel FSP? -- Intel FSP Binary Format -- Sample Boot Flow -- Locating the Entries of Intel FSP -- The Hard Way to Find Intel FSP APIs: Use Data Structure -- The Easy Way to Find FSP APIs: Use Hard-Coded Constants -- Programming Interface: The APIs of Intel FSP -- TempRamInit -- FspInitEntry -- NotifyPhase -- Intel FSP Output -- API Execution Status -- Temporary Memory Data HOB -- Non-Volatile Storage HOB -- Sample Code for Parsing HOBs -- Customization of Intel FSP -- Downloading Intel FSP -- Microcode Patches -- Relocating Intel FSP -- Integration and Build -- The Future of Intel FSP -- What Is Coming in the Following Chapters -- Chapter 4: Building coreboot with Intel FSP -- The Introduction of coreboot -- The Philosophy of coreboot -- A Brief History -- v1: 1999-2000 -- v2: 2000-2005 -- v2+: 2005-2008.

v3: 2006-2008 -- 2008 LinuxBIOS Renamed "coreboot" -- v4: 2009-2012 -- v4+: 2012-2014 -- Further Reading -- Prerequisites for Working with coreboot -- Community Organization -- Git and Gerrit -- Git Commit Messages -- coreboot Sign-off Procedure -- Developer's Certificate of Origin 1.1 -- Adding Your Sign-off -- Working with the coreboot Community -- coreboot Do's -- coreboot Don'ts -- Nonsource Binaries in coreboot -- A Hands-on Example: Building coreboot for the MinnowBoard MAX Mainboard -- Environment -- Hardware: MinnowBoard MAX -- MinnowBoard MAX Platform Details -- Development Directory -- Downloading Intel FSP -- Installing Intel FSP -- Downloading the coreboot Source -- coreboot Toolchain -- coreboot Commit Hooks -- Creating a coreboot Development Branch -- Building the Mainboard -- On the Menuconfig Menu -- On the Chipset Menu -- On the Devices Menu -- Build -- Summary of Commands -- Flashing the ROM -- Preparing the Flash Programmer -- Flashing the ROM Image -- coreboot Internals -- Boot Stages -- Additional Files -- CBFS -- An Example of CBFS -- CBFS Size -- Special Binaries -- Boot Flow Using Intel FSP -- Reset Vector and Bootblock -- romstage -- ramstage -- Payload -- coreboot Source -- coreboot Device Tree -- Chips and Devices -- Device Tree Variables -- A Device Tree Example -- Chip Operations -- Device Operations -- coreboot Hardwaremain State Machine -- State Machine States -- State Machine Callbacks -- Mainboard -- The Chipset Driver -- Chipset FSP UPD Options -- The FSP Driver -- Kconfig -- xcompile -- Payloads -- SeaBIOS -- GRUB 2 -- FILO -- iPXE -- TianoCore -- Depthcharge -- U- Boot -- Memtest86+ -- libpayload -- coreboot Troubleshooting and Debugging -- Postcodes -- Serial Debug -- EHCI USB Debug -- Summary -- Chapter 5: Chrome book Firmware Internals -- About Chrome book and Chrome OS -- Chrome OS Firmware Overview.

Chrome OS Security Philosophy -- Chrome OS Security Guiding Principles -- Power wash -- Chrome OS Boot Modes -- Verified (Normal) Mode -- Recovery Mode -- Developer Mode -- Chrome OS Coreboot -- x86 -- ARM -- Depth charge Payload -- libpayload -- Verified Boot -- Verified Boot and Kernel Security -- Chrome OS Firmware Boot Log -- Boot Times Log -- Chrome OS Firmware Event Log -- Google SMI Linux Kernel Driver -- Chrome OS Extensions to the Firmware Image -- FMAP -- BOOT_STUB FMAP Section -- Chrome OS Firmware RW FMAP Sections -- An fmap.dts (RW_SECTION_A) Example -- Google Binary Block (GBB) -- GBB: HWID v3 -- GBB: Firmware Bitmaps -- GBB: Firmware Keys -- GBB: Boot Flags -- Vital Product Data ( VPD) -- Firmware TPM Usage -- Chrome OS Firmware Update -- Chrome OS Utilities -- flashrom -- gbb_utility -- GBB Flags Utility Script: set_gbb_flags.sh -- crossystem -- mosys -- Google Embedded Controller -- Power Sequencing -- Battery Charging -- Thermal Management -- Keyboard Controller -- Other Peripheral Controls -- Chrome EC Software Sync -- Software Sync Steps -- Summary -- Chapter 6: Intel FSP and UEFI Integration -- Introduction to EFI -- Introduction to FSP -- Introduction to EDK II -- Summary -- FSP Components -- FSP Wrapper Boot Flow -- Generic FSP Wrapper Boot Flow -- Normal Boot -- Boot Flow -- Memory Layout for a Normal Boot Flow -- FSP Normal Boot Data Structure -- S3 Boot -- Boot Flow -- S3 Memory Layout -- S3 NV Data Passing -- Capsule Flash Update -- Boot Flow -- Capsule Update Memory Layout -- Recovery Boot Flow -- FSP Recovery Memory Layout -- coreboot Payload Based upon EDK II -- Building Minnow and MinnowMax with FSP -- Future of the Intel FSP -- Conclusion -- Chapter 7: Building Firmware for Quark Processors -- Overview of UEFI and PI -- History of Implementations and Specifications -- Introduction to EDK II Building Blocks.

PKG: Packaging -- MdePkg -- MdeModulePkg -- IntelFrameworkPkg -- IntelFrameworkModulePkg -- Packages -- PCD: Platform Configuration Database -- Syntax -- DEC: Platform Declaration File -- Syntax -- DSC: Platform Description File -- FDF: Flash Description File -- Syntax -- Build: The EDK II Build Command -- INF: INF File -- More Information -- Introduction to the EDK II Subset -- Introduction to Quark -- ROM Flash Image Size Optimization -- Fixed Resource -- DRAM/SMRAM -- Remove Features -- Reduce Features -- Compiler Options -- Build Options -- Results of the TinyQuark Optimization -- RAM Footprint Optimization -- Optimization -- Result of Memory Usage Optimization -- Conclusion -- Chapter 8: Putting It All Together -- RTOS and Intel FSP -- Intel FSP and Open Source Philosophy -- Customization and Production of Intel FSP -- It Is a Community Effort After All -- Appendix A: Sample Boot Setting File (BSF) -- Index.

Description based on publisher supplied metadata and other sources.

Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2022. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.

There are no comments on this title.

yorum yazmak için.

Ziyaretçi Sayısı

Destekleyen Koha