Bootstrapping libc with Newlib

Using Asserts in Embedded Systems

The Best and Worst GCC Compiler Flags For Embedded

Embedded C/C++ Unit Testing Basics

A Practical Guide to Bluetooth Low Energy (BLE) Throughput

Building Better Firmware with Continuous Integration

A Practical guide to ARM Cortex-M Exception Handling

Building a CLI for Firmware Projects using Invoke

Code Size Optimization: GCC Compiler Flags

How to Write a Bootloader from Scratch

A Deep Dive into ARM Cortex-M Debug Interfaces

Bluetooth Low Energy: A Primer

Supercharge GDB with Python PyPi Packages

Fix Bugs and Secure Firmware with the MPU

Get the most out of the linker map file

Automate Debugging with GDB Python API

How to Dig into Firmware Code Size

Demystifying Firmware Linker Scripts

Debugging Firmware with GDB

GNU Build IDs for Firmware

From zero to main(): Bare metal C