← Previous · All Episodes · Next →
Unlocking the Secrets of Low Level Programming with Anders Sundman Episode

Unlocking the Secrets of Low Level Programming with Anders Sundman

· 03:10

|

Here’s a podcast-ready summary of Anders Sundman’s talk “Low, Lower, Lowest Level Programming,” plus key takeaways from the video hosted on YouTube.

🎙️ Podcast Summary:

Ready for a deep dive into the world where software meets silicon? In “Low, Lower, Lowest Level Programming,” Anders Sundman takes us on a thrilling ride beneath the surface of embedded C++—way beneath. This talk isn't just about getting close to the hardware, it's about shaking hands with the electrons. From the basics of memory layout to the intimidating-yet-essential linker scripts, Sundman demystifies what’s really happening when your MCU lights up a pin. Along the way, he connects the dots between binary code and actual voltages on a breadboard, making the case that the best embedded developers speak a bit of electrical engineering too. Or, as he puts it: “To program a microcontroller well, you must understand the landscape—both digital and analog.” Whether you're writing drivers or tweaking linker scripts, this talk reminds us why low-level isn't just about performance—it's about power, control, and understanding what lies beneath.

🔑 Key Points:

  • 🧠 Layers Below the Code: Anders emphasizes the layers many developers don't often consider—like memory addresses, registers, and the circuit-level reality behind the code abstractions.

  • 🧱 Memory Matters: A solid understanding of memory layout is critical. Sundman reviews how stack, heap, and static allocations are placed in embedded systems—and why knowing this can prevent bugs and maximize performance.

  • 📦 Linker Scripts Demystified: Rather than treating them like obscure magic, Sundman breaks down linker scripts to show how they define what goes where in memory. He helps you understand how to fine-tune them to your system's needs.

  • ⚡ Microcontroller I/O: Embedded developers often manipulate microcontroller pins directly. Sundman explains the mapping between C++ abstractions and what’s happening at the silicon level—showing how a “GPIO write” actually toggles voltage on a real wire.

  • 🔌 Circuitry Counts: “We need to look at the hardware,” says Sundman. He argues that developers should understand basic EE principles: voltage, current, resistance, and how they impact signal integrity and board design.

  • 👨‍🔧 Software Meets Hardware: Asserts that embedded developers should bridge the gap—learning oscilloscope usage, understanding pull-up resistors, and knowing why a noisy signal might cause code failures.

  • 🧰 Tools of the Trade: While not commercial-focused, Sundman indirectly praises tools like oscilloscope probes, logic analyzers, and open-source toolchains that give insight into low-level system behavior.

  • 🌍 Real-world Simulation: Sundman shares anecdotes from embedded teams where too much abstraction led to fragile systems. He advocates walking the boundary between C++ comfort and raw hardware insight.

  • 🧩 Assembly Isn’t Dead: While most developers use C++, he notes that knowing what the compiler generates (and why) is a valuable debugging and optimization skill.

  • 🗣️ Quote Highlight: “You are quite literally programming physics,” says Sundman with a smile—one of the most memorable lines that encapsulates the talk’s theme.

This talk is a must-watch for seasoned embedded developers and curious newcomers alike. It’s not about writing more complex code—it’s about writing code that respects the machine. Or as Sundman wisely conveys, “The lowest-level code gives you the highest levels of insight.”

🔍 Additional Context:

  • The speaker, Anders Sundman, is a known expert in embedded systems, particularly C++ for microcontrollers.
  • His focus on electrical engineering fundamentals echoes principles found in academic EE courses and practical guides like Elecia White’s "Making Embedded Systems" and Jack Ganssle's low-level performance writings.
  • The content matches best practices echoed in resources from ARM’s developer ecosystem and the Embedded Artistry community.

🎧 Ideal for: Embedded developers, systems programmers, EE-CS hybrid engineers, or anyone who wants to understand where C++ ends and electrons begin.

Let me know if you want a version tailored for a beginner or a deep-dive segment on linker scripts or MCU I/O!
Link to Article


Subscribe

Listen to jawbreaker.io using one of many popular podcasting apps or directories.

Apple Podcasts Spotify Overcast Pocket Casts Amazon Music
← Previous · All Episodes · Next →