Before you leave...
Take 20% off your first order
20% off
Enter the code below at checkout to get 20% off your first order
Discover summer reading lists for all ages & interests!
Find Your Next Read
Become proficient in designing and developing embedded systems and reduce reliance on third-party libraries
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
- Purchase of the print or Kindle book includes a free PDF eBook
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
- Setting Up the Tools of the Trade
- Constructing Peripheral Registers from Memory Addresses
- Understanding the Build Process and Exploring the GNU Toolchain
- Developing the Linker Script and Startup File
- The "Make" Build System
- The Common Microcontroller Software Interface Standard (CMSIS)
- The General-Purpose Input/Output (GPIO) Peripheral
- System Tick (SysTick) Timer
- General-Purpose Timers (TIM)
- The Universal Asynchronous Receiver/Transmitter Protocol
- Analog-to-Digital Converter (ADC)
- Serial Peripheral Interface (SPI)
- Inter-Integrated Circuit (I2C)
- External Interrupts and Events (EXTI)
- The Real-Time Clock (RTC)
- Independent Watchdog (IWDG)
- Direct Memory Access (DMA)
- Power Management and Energy Efficiency in Embedded Systems
Thanks for subscribing!
This email has been registered!
Take 20% off your first order
Enter the code below at checkout to get 20% off your first order