Reusable Firmware Development: A Practical Approach to APIs, HALs and Drivers

  • 4h 14m
  • Jacob Beningo
  • Apress
  • 2017

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.

About the Author

Jacob Beningo is an embedded software consultant with over 15 years of experience in microcontroller based real-time embedded systems. After spending over ten years designing embedded systems for automotive,defense and space industries, Jacob founded Beningo Embedded Group in 2009. Jacob has worked with clients in more than a dozen countries to dramatically transform their businesses by improving product quality, cost and time to market. He has published more than 200 articles on embedded software development techniques, is a sought-after speaker and technical trainer who holds three degrees which include a Masters of Engineering from the University of Michigan. Jacob is an avid writer, trainer, consultant and entrepreneur who transforms the complex into simple and understandable concepts that accelerate technological innovation.

Jacob has demonstrated his leadership in the embedded systems industry by consulting and training at companies such as General Motors, Intel, Infineon and Renesas along with successfully completing over 50 projects. Jacob also speaks at and is involved in the embedded track selection committees at ARM Techcon, Embedded System Conferences and Sensor Expo. Jacob holds Bachelor’s degrees in Electrical Engineering, Physics and Mathematics from Central Michigan University and a Master’s degree in Space Systems Engineering from the University of Michigan.

In his spare time, Jacob enjoys spending time with his family, reading, writing, playing hockey and golf. In clear skies, he can often be found outside with his telescope, sipping a fine scotch while imaging the sky.

In this Book

  • Introduction
  • Concepts for Developing Portable Firmware
  • API and HAL Fundamentals
  • Device Driver Fundamentals in C
  • Writing Reusable Drivers
  • Documenting Firmware with Doxygen
  • The Hardware Abstraction Layer Design Process
  • HAL Design for GPIO
  • HAL Design for SPI
  • HAL Design for EEPROM and Memory Devices
  • API Design for Embedded Applications
  • Testing Portable Embedded Software
  • A Practical Approach to Code Reuse