Bare-Metal Embedded C Programming: Develop high-performance embedded systems with C for Arm microcontrollers

Bare-Metal Embedded C Programming: Develop high-performance embedded systems with C for Arm microcontrollers book cover

Bare-Metal Embedded C Programming: Develop high-performance embedded systems with C for Arm microcontrollers

Author(s): Israel Gbati (Author)

  • Publisher: Packt Publishing
  • Publication Date: 30 Sept. 2024
  • Language: English
  • Print length: 438 pages
  • ISBN-10: 183546081X
  • ISBN-13: 9781835460818

Book Description

Become proficient in designing and developing embedded systems and reduce reliance on third-party libraries

Get With Your Book: PDF Copy, AI Assistant, and Next-Gen Reader Free

Key Features

  • Learn to develop bare-metal firmware for Arm microcontrollers from scratch
  • Understand hardware intricacies to minimize your dependency on third-party libraries
  • Navigate microcontroller manuals with ease and learn to write optimized code

Book Description

Bare-Metal Embedded C Programming takes you on an unparalleled journey to equip you with the skills and knowledge to excel in the world of embedded systems. The author, with over a decade of hands-on experience in engineering, takes a unique, practical approach to teach you how to decode microcontroller datasheets so that you’re able to extract vital information for precise firmware development. Register manipulation will become second nature to you as you learn to craft optimized code from scratch.

The book provides in-depth insights into the hardware intricacies of microcontrollers. You’ll navigate user manuals and documentation with ease, ensuring a profound understanding of the underlying technology. The true uniqueness of this book lies in its commitment to fostering independent expertise. Instead of simply copy pasting, you’ll develop the capability to create firmware with confidence, paving the way for professional-grade mastery.

By the end of this book, you’ll have honed your skills in reading datasheets, performing register manipulations, and crafting optimized code, as well as gained the confidence needed to navigate hardware intricacies and write optimized firmware independently, making you a proficient and self-reliant embedded systems developer.

What you will learn

  • Decode microcontroller datasheets, enabling precise firmware development
  • Master register manipulations for optimized Arm-based microcontroller firmware creation
  • Discover how to navigate hardware intricacies confidently
  • Find out how to write optimized firmware without any assistance
  • Work on exercises to create bare-metal drivers for GPIO, timers, ADC, UART, SPI, I2C, DMA, and more
  • Design energy-efficient embedded systems with power management techniques

Who this book is for

Whether you’re an experienced engineer seeking in-depth expertise in decoding datasheets, precise register manipulations, and creating firmware from scratch, or a software developer transitioning to the embedded systems domain, this book is your comprehensive guide. It equips you with the practical skills needed for confident, independent firmware development, making it an essential resource for professionals and enthusiasts in the field.

Table of Contents

  1. Setting Up the Tools of the Trade
  2. Constructing Peripheral Registers from Memory Addresses
  3. Understanding the Build Process and Exploring the GNU Toolchain
  4. Developing the Linker Script and Startup File
  5. The “Make” Build System
  6. The Common Microcontroller Software Interface Standard (CMSIS)
  7. The General-Purpose Input/Output (GPIO) Peripheral
  8. System Tick (SysTick) Timer
  9. General-Purpose Timers (TIM)
  10. The Universal Asynchronous Receiver/Transmitter Protocol
  11. Analog-to-Digital Converter (ADC)
  12. Serial Peripheral Interface (SPI)
  13. Inter-Integrated Circuit (I2C)
  14. External Interrupts and Events (EXTI)
  15. The Real-Time Clock (RTC)
  16. Independent Watchdog (IWDG)
  17. Direct Memory Access (DMA)
  18. Power Management and Energy Efficiency in Embedded Systems

Editorial Reviews

Review

“Israel truly practices what he preaches. The teachings in this book are actively tested and applied in the field to advance technology aimed at improving the quality of life for individuals facing various health challenges. There is nothing more relevant today than an engineering text written by an active practitioner, especially in the midst of the most fast-paced and dynamic engineering environment in human history. What you hold in your hands is the culmination of years of dedicated effort, driven by both knowledge and real-world applications that extend far beyond theory into the practical challenges of technological entrepreneurship. I hope this book serves as a valuable resource and inspiration for all who seek to push the boundaries of engineering and technology.”

Georgios Papanikolaou, Chief Operating Officer and Head of Hardware Engineering at BiostealthAI

“A focused and practical guide to bare-metal development on STM32. Israel Gbati takes readers on a journey through startup code, custom linker scripts, peripheral drivers, DMA, watchdogs, and low-power modes—using only C and direct register access. What I especially liked is the clear, step-by-step approach to working directly with MCU peripherals without relying on vendor-specific HAL or code generators. Each concept is tied to real, reproducible labs, making the book a strong recommendation for anyone who wants to build a deep understanding of how microcontrollers work at the hardware level.”

Artem Kulyk, Senior Embedded Software Engineer at awexon

“This book takes a systematic approach to embedded programming, starting from fundamental development tools and progressing through peripheral programming and advanced topics. It is an excellent resource for junior developers willing to invest time in learning fundamental concepts. I would without doubt recommend this book to juniors and newcomers in my company willing to learn more about embedded software development.”

Srdjan Stokic, Embedded Systems Engineering Lead & Country Lead (NOVELIC)

About the Author

Israel Gbati is a distinguished firmware engineer boasting over a decade of hands-on experience in the field. Throughout his career, he has shared his profound knowledge to more than 100,000 professionals, helping to shape the next generation of experts. In addition to his engineering expertise, Israel is an entrepreneur and an award-winning inventor, recognized for his exceptional inventions. He holds a Bachelor’s degree in Mechanical Engineering and Automation, complemented by a double Masters degree in Global Innovation Design from Imperial College London and the Royal College of Arts. Israel is the founder of EmbeddedExpertIO and the cofounder of BiostealthAI, further demonstrating his leadership and commitment to advancing technological innovation.

View on Amazon

未经允许不得转载:Wow! eBook » Bare-Metal Embedded C Programming: Develop high-performance embedded systems with C for Arm microcontrollers