10: Hands Off, Baby (Repeat)

Embedded.fm · 20 Jul 2018 · 58m · Episode 10

What this episode covers

Jen Costillo joins Elecia White to discuss obscure but critical C and C++ keywords used in embedded firmware, such as volatile, static, const, and register. They explain how these keywords affect compiler optimization, memory allocation, and code safety, often using interview questions to illustrate the depth of knowledge required. The conversation covers practical applications like handling hardware registers, managing circular buffers in ISRs, and using pragmas for memory packing and interrupt handling.

Most relevant to

established companies

Topics

Mentioned

Also
Jen Costillo, Elecia White, Unnamed Reverse Engineering Podcast, Kyle Compiler, 8051, Cortex-M, ARM, MIPS, PowerPC, TI, Android, Java, C#

Other shows on the same ground, closest first.

  • The Pragmatic Embedded Podcast · 49m

    Buzzword Bingo (or: which modern technologies make sense for embedded?)

    Hosts Jeff Gable and Luca Ingianni evaluate modern development buzzwords for embedded systems, discussing the applicability of web technologies like Kubernetes and Docker, the nuances of CI/CD pipelines, and the practical adoption of Rust and modern C++. They highlight specific tools such as Memfault, Mender, and Renode for observability and simulation, and analyze the role of AI in both device-side machine learning and developer productivity.

  • The Spark Gap · 56m

    The Spark Gap - Episode 39

    Hosts Carl and Corey discuss the WS2812B addressable LED, noting its daisy-chain capability and 5V requirement, and the MAX1474 electronically trimmable capacitor, which allows for digital calibration of DC-DC power supplies. They then transition to a deep dive into embedded firmware, explaining that pointers are fundamental to microcontroller memory mapping and efficient C programming. The hosts argue that understanding pointers is crucial for embedded engineers to manage memory constraints, optimize execution speed, and interface directly with hardware registers, despite the abstraction provided by libraries like Arduino.

  • The Pragmatic Embedded Podcast · 58m

    Modern C++ for Embedded with Niall Cooling

    Niall Cooling, director at Feabhas, explains how modern C++ (C++11 through C++23) enables safer, more agile embedded development by replacing C-style practices with compiler-enforced safety and modern tooling. He highlights 'quick wins' like `auto`, `constexpr`, and guaranteed copy elision, which improve code readability and performance without sacrificing the efficiency of C. Cooling argues that the true value of C++ lies in its ecosystem of header-only testing frameworks (like Doctest and Catch2), static analysis tools (Clang-tidy), and CI/CD integration, which allow teams to adopt Agile practices like Test-Driven Development (TDD) even in deeply embedded, safety-critical contexts. He contrasts this with the steep learning curve of Rust and emphasizes that successful adoption requires significant investment in training and process improvement rather than just language syntax changes.

  • The Amp Hour · 1h 42m

    An Interview with Elecia White - Wirewove Worshipping Wookieist?

    Elecia White, founder of Logical Elegance and host of the Making Embedded Systems podcast, discusses her O'Reilly book and her career as an embedded software consultant. She shares insights on bare-metal programming, the pitfalls of using floating-point math in interrupts, and the importance of power optimization in wearable devices like Fitbit. White also reflects on her past work at LeapFrog, the challenges of hiring engineers, and her vision for future haptic feedback technology.

  • The Pragmatic Embedded Podcast · 39m

    Christmas Special

    Hosts Jeff Gable and Luca share war stories from their careers in embedded systems, highlighting the pain of manual testing in helicopter avionics, the chaos of managing requirements with Word and Excel in Dropbox for medical devices, and the technical debt of massive #ifdef blocks in legacy machine tool software. They discuss the industry's slow adoption of modern software practices like version control and CI/CD, contrasting embedded development with web development standards. The episode concludes with book recommendations including 'The Phoenix Project' and 'Team Topologies', and reflections on the future of IoT security and agile adoption in hardware.

The summary, chapters and topics are generated from the episode’s audio by this directory, not written by Embedded.fm. The episode itself belongs to its publisher.