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.
Author(s): Jacob Beningo
Edition: 1
Publisher: Apress
Year: 2017
Language: English
Commentary: True PDF
Pages: 308
City: New York, NY
Tags: Hardware; API Design; Programming Style; C; SPI Bus; Device Drivers; Integration Testing; Regression Testing; Testing; Version Control; Bootloaders; Embedded Systems; GPIO; Firmware; Hardware Abstraction Layers; Doxygen; EEPROM
Front Matter ....Pages i-xxii
Concepts for Developing Portable Firmware (Jacob Beningo)....Pages 1-28
API and HAL Fundamentals (Jacob Beningo)....Pages 29-60
Device Driver Fundamentals in C (Jacob Beningo)....Pages 61-93
Writing Reusable Drivers (Jacob Beningo)....Pages 95-119
Documenting Firmware with Doxygen (Jacob Beningo)....Pages 121-148
The Hardware Abstraction Layer Design Process (Jacob Beningo)....Pages 149-165
HAL Design for GPIO (Jacob Beningo)....Pages 167-200
HAL Design for SPI (Jacob Beningo)....Pages 201-217
HAL Design for EEPROM and Memory Devices (Jacob Beningo)....Pages 219-241
API Design for Embedded Applications (Jacob Beningo)....Pages 243-256
Testing Portable Embedded Software (Jacob Beningo)....Pages 257-275
A Practical Approach to Code Reuse (Jacob Beningo)....Pages 277-299
Back Matter ....Pages 301-308