Reusable Firmware Development
Title | Reusable Firmware Development PDF eBook |
Author | Jacob Beningo |
Publisher | Apress |
Pages | 321 |
Release | 2017-12-06 |
Genre | Computers |
ISBN | 1484232976 |
Gain the knowledge and skills necessary to improve your embedded software and benefit from author Jacob Beningo’s more than 15 years developing reusable and portable software for resource-constrained microcontroller-based systems. You will explore APIs, HALs, and driver development among other topics to acquire a solid foundation for improving your own software. Reusable Firmware Development: A Practical Approach to APIs, HALs and Drivers not only explains critical concepts, but also provides a plethora of examples, exercises, and case studies on how to use and implement the concepts. What You'll Learn Develop portable firmware using the C programming language Discover APIs and HALs, explore their differences, and see why they are important to developers of resource-constrained software Master microcontroller driver development concepts, strategies, and examples Write drivers that are reusable across multiple MCU families and vendors Improve the way software documented Design APIs and HALs for microcontroller-based systems Who This Book Is For Those with some prior experience with embedded programming.
Design Patterns for Embedded Systems in C
Title | Design Patterns for Embedded Systems in C PDF eBook |
Author | Bruce Powel Douglass |
Publisher | Elsevier |
Pages | 471 |
Release | 2010-11-03 |
Genre | Computers |
ISBN | 0080959717 |
A recent survey stated that 52% of embedded projects are late by 4-5 months. This book can help get those projects in on-time with design patterns. The author carefully takes into account the special concerns found in designing and developing embedded applications specifically concurrency, communication, speed, and memory usage. Patterns are given in UML (Unified Modeling Language) with examples including ANSI C for direct and practical application to C code. A basic C knowledge is a prerequisite for the book while UML notation and terminology is included. General C programming books do not include discussion of the contraints found within embedded system design. The practical examples give the reader an understanding of the use of UML and OO (Object Oriented) designs in a resource-limited environment. Also included are two chapters on state machines. The beauty of this book is that it can help you today. . - Design Patterns within these pages are immediately applicable to your project - Addresses embedded system design concerns such as concurrency, communication, and memory usage - Examples contain ANSI C for ease of use with C programming code
API Standard for MCUs
Title | API Standard for MCUs PDF eBook |
Author | Jacob Beningo |
Publisher | |
Pages | 374 |
Release | 2017-08-04 |
Genre | |
ISBN | 9781973972204 |
Embedded software has traditionally been developed as a one-off software development effort designed for an individual product. In recent years, embedded system complexity has dramatically increased and the microcontrollers capabilities have followed. What were once simple 8-bit computing machines running at a few dozen megahertz have now become full-fledged 32-bit processors executing at hundreds of megahertz's. Developing software from scratch or for use in a single application or processor has become extremely costly and problematic for design teams. This API standard for microcontrollers is an example hardware abstraction layer designed to help embedded software developers designing products with microcontrollers create reusable software that abstracts out the hardware. This API standard has been developed and used in production systems for more than half a decade in devices ranging from automotive and medical devices to space systems. Each iteration that it has gone through has helped create a standard that flexible for developers and meets many general real-time design needs. Using an API to abstract out the microcontroller has several major benefits to development teams such as: Removing the specialized need to master the microcontroller hardware Decreasing costs through reusable firmware Faster times to market Better planning and accuracy in the development cycle Portability and flexibility to handle numerous applications Undoubtedly there are many more benefits but in this book the goal is to provide the reader with the standard. If you are interested in understanding how to develop reusable software and the processes that a developer would go through to create their own API's and HAL's, the companion book "Developing Reusable Firmware : A Practical Approach", can be found at www.beningo.com. Developing Reusable Firmware discusses the key ideas behind creating API's and HAL's along with the processes and design considerations that developers need to consider when creating their own. This standard example has gone through many iterations and has become very stable but there is always an opportunity that changes will be made in the future. In order to stay up to date and receive the latest information and also receive the associated API template files, please visit the associated webpage at https://www.beningo.com/api/index.php to sign-up. When you sign-up you will receive Doxygen template source files that layout the entire standard in way that can be easily modified to implement in your own development cycle. I wish you the best of luck in using this standard and dramatically transforming the way in which you develop and reuse your embedded software.
Beyond BIOS
Title | Beyond BIOS PDF eBook |
Author | Vincent Zimmer |
Publisher | Walter de Gruyter GmbH & Co KG |
Pages | 319 |
Release | 2017 |
Genre | Computers |
ISBN | 1501505831 |
This book provides an overview of modern boot firmware, including the Unified Extensible Firmware Interface (UEFI) and its associated EFI Developer Kit II (EDKII) firmware. The authors have each made significant contributions to developments in these areas. The reader will learn to use the latest developments in UEFI on modern hardware, including open source firmware and open hardware designs. The book begins with an exploration of interfaces exposed to higher-level software and operating systems, and commences to the left of the boot timeline, describing the flow of typical systems, beginning with the machine restart event. Software engineers working with UEFI will benefit greatly from this book, while specific sections of the book address topics relevant for a general audience: system architects, pre-operating-system application developers, operating system vendors (loader, kernel), independent hardware vendors (such as for plug-in adapters), and developers of end-user applications. As a secondary audience, project technical leaders or managers may be interested in this book to get a feel for what their engineers are doing. The reader will find: An overview of UEFI and underlying Platform Initialization (PI) specifications How to create UEFI applications and drivers Workflow to design the firmware solution for a modern platform Advanced usages of UEFI firmware for security and manageability
Software Engineering with Reusable Components
Title | Software Engineering with Reusable Components PDF eBook |
Author | Johannes Sametinger |
Publisher | Springer Science & Business Media |
Pages | 275 |
Release | 2013-04-17 |
Genre | Computers |
ISBN | 3662033453 |
The book provides a clear understanding of what software reuse is, where the problems are, what benefits to expect, the activities, and its different forms. The reader is also given an overview of what sofware components are, different kinds of components and compositions, a taxonomy thereof, and examples of successful component reuse. An introduction to software engineering and software process models is also provided.
Programming Embedded Systems
Title | Programming Embedded Systems PDF eBook |
Author | Michael Barr |
Publisher | "O'Reilly Media, Inc." |
Pages | 326 |
Release | 2006-10-11 |
Genre | Computers |
ISBN | 0596009836 |
Authored by two of the leading authorities in the field, this guide offers readers the knowledge and skills needed to achieve proficiency with embedded software.
Patterns in the Machine
Title | Patterns in the Machine PDF eBook |
Author | John T. Taylor |
Publisher | Apress |
Pages | |
Release | 2021-04-15 |
Genre | Computers |
ISBN | 9781484264393 |
Discover how to apply software engineering patterns to develop more robust firmware faster than traditional embedded development approaches. In the authors’ experience, traditional embedded software projects tend towards monolithic applications that are optimized for their target hardware platforms. This leads to software that is fragile in terms of extensibility and difficult to test without fully integrated software and hardware. Patterns in the Machine focuses on creating loosely coupled implementations that embrace both change and testability. This book illustrates how implementing continuous integration, automated unit testing, platform-independent code, and other best practices that are not typically implemented in the embedded systems world is not just feasible but also practical for today’s embedded projects. After reading this book, you will have a better idea of how to structure your embedded software projects. You will recognize that while writing unit tests, creating simulators, and implementing continuous integration requires time and effort up front, you will be amply rewarded at the end of the project in terms of quality, adaptability, and maintainability of your code. What You Will Learn Incorporate automated unit testing into an embedded project Design and build functional simulators for an embedded project Write production-quality software when hardware is not available Use the Data Model architectural pattern to create a highly decoupled design and implementation Understand the importance of defining the software architecture before implementation starts and how to do it Discover why documentation is essential for an embedded project Use finite state machines in embedded projects Who This Book Is For Mid-level or higher embedded systems (firmware) developers, technical leads, software architects, and development managers.