# 10: Hands Off, Baby (Repeat)

- Show: [Embedded.fm](https://hardwarepodcasts.com/podcast/embedded-fm)
- Published: 2018-07-20
- Length: 58m
- Episode: 10
- Page: https://hardwarepodcasts.com/podcast/embedded-fm/2018-07-20-10-hands-off-baby-repeat
- Listen: https://makingembeddedsystems.libsyn.com/10-hands-off-baby-repeat

## Summary

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.

## Chapters

- [0:06](https://hardwarepodcasts.com/podcast/embedded-fm/2018-07-20-10-hands-off-baby-repeat#t=6) Introduction and Volatile Keyword
- [2:00](https://hardwarepodcasts.com/podcast/embedded-fm/2018-07-20-10-hands-off-baby-repeat#t=120) Volatile in ISRs and Shared Variables
- [7:41](https://hardwarepodcasts.com/podcast/embedded-fm/2018-07-20-10-hands-off-baby-repeat#t=461) The Register Keyword and Compiler Optimization
- [14:53](https://hardwarepodcasts.com/podcast/embedded-fm/2018-07-20-10-hands-off-baby-repeat#t=893) Const vs. Define and Memory Allocation
- [17:57](https://hardwarepodcasts.com/podcast/embedded-fm/2018-07-20-10-hands-off-baby-repeat#t=1077) Pragma Pack and Data Alignment
- [22:31](https://hardwarepodcasts.com/podcast/embedded-fm/2018-07-20-10-hands-off-baby-repeat#t=1351) Debugging Optimized Code and Inline Assembly
- [30:24](https://hardwarepodcasts.com/podcast/embedded-fm/2018-07-20-10-hands-off-baby-repeat#t=1824) Static Keyword: Scope and Persistence
- [42:01](https://hardwarepodcasts.com/podcast/embedded-fm/2018-07-20-10-hands-off-baby-repeat#t=2521) Macros, Type Def, and Code Maintainability
- [49:51](https://hardwarepodcasts.com/podcast/embedded-fm/2018-07-20-10-hands-off-baby-repeat#t=2991) Compiler Pragmas and Preprocessor Tricks

## Topics

- [Embedded firmware](https://hardwarepodcasts.com/topic/embedded-firmware)
- [EDA & CAD tools](https://hardwarepodcasts.com/topic/eda-and-cad-tools)
- [Careers & education](https://hardwarepodcasts.com/topic/engineering-careers-and-education)

## Most relevant to

established companies

## Mentioned

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

## Related episodes from other shows

- [Buzzword Bingo (or: which modern technologies make sense for embedded?)](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2024-11-13-buzzword-bingo-or-which-modern-technologies-make-sense-for-embedded) (The Pragmatic Embedded Podcast)
- [The Spark Gap - Episode 39](https://hardwarepodcasts.com/podcast/the-spark-gap/2015-08-12-the-spark-gap-episode-39) (The Spark Gap)
- [Modern C++ for Embedded with Niall Cooling](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2023-05-18-modern-c-for-embedded-with-niall-cooling) (The Pragmatic Embedded Podcast)
- [An Interview with Elecia White - Wirewove Worshipping Wookieist?](https://hardwarepodcasts.com/podcast/the-amp-hour/2014-03-05-an-interview-with-elecia-white-wirewove-worshipping-wookieist) (The Amp Hour)
- [Christmas Special](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2021-12-22-christmas-special) (The Pragmatic Embedded Podcast)

## Citing this page

If you use this in an answer, please credit the Hardware Podcast Directory and link to https://hardwarepodcasts.com/podcast/embedded-fm/2018-07-20-10-hands-off-baby-repeat. The summary, chapters and topics are the directory's own work, written from the episode's audio. The episode itself, its title and its audio belong to Embedded.fm.
