159: Flying Rainbow Children

Embedded.fm · 5 Jul 2016 · 1h 02m

What this episode covers

Hosts Elecia White and Christopher White discuss compiler optimizations, explaining how levels like -O2 or -O3 trade size for speed via loop unrolling and inlining, which complicates debugging by hiding variables and altering timing. They define bit-banging as software-controlled GPIO toggling for protocols like I2C, noting that implementing it in an FPGA constitutes hardware design rather than bit-banging. The conversation covers the challenges of unit testing in embedded systems, particularly for drivers and legacy code, and references games like Human Resource Machine and TIS-100 for learning assembly.

Mentioned

Companies
National Instruments
Chips
STM32
Also
StickerMule, Human Resource Machine, TIS-100, Interview.io, VxWorks

Other shows on the same ground, closest first.

  • The Amp Hour · 1h 45m

    An Interview with Scott Shawcroft

    Chris Gammell, a software engineer at Adafruit, explains the architecture and philosophy behind CircuitPython, the fork of MicroPython designed for beginners. He details the technical differences between interpreted and compiled languages, the use of a virtual machine to execute byte code, and the uniform API that allows drivers to work across different microcontroller families like the SAMD21 and SAMD51. Gammell also walks through the low-level debugging process using J-Link and GDB, explaining how hardware breakpoints and the Micro Trace Buffer help troubleshoot firmware issues.

  • The Pragmatic Embedded Podcast · 30m

    Testing on the Host vs Target

    Jeff Gable and Luca discuss the strategy of testing embedded software on the host machine versus the target hardware, arguing that host testing catches the majority of bugs while target testing is reserved for hardware-specific interactions. They introduce architectural patterns like the Model-Hardware-Controller (MHC) and the Data Model pattern to decouple business logic from hardware, enabling effective unit testing. The conversation also covers handling resource-constrained systems by optimizing last and using special integration tests to uncover low-level bugs like interrupt priority issues.

  • Unnamed Reverse Engineering Podcast · 1h 43m

    044 - Scots Army Knife

    Piotr Esden-Tempski of 1BitSquared discusses the company's role in manufacturing open-source hardware, specifically the Glasgow digital interface explorer, the iCEBreaker FPGA board, and the Black Magic Probe debugger. He explains the economic rationale for using an old Quad 4C pick-and-place machine for small-batch production and details how Glasgow uses an FPGA to dynamically generate hardware protocols via the nmigen HDL. The conversation also covers the geopolitical shift toward RISC-V in China, the challenges of debugging legacy industrial equipment, and the importance of documentation and community education in the open-source hardware ecosystem.

  • 017 - Supercon 2018 Part 2

    Jen and Alvaro interview Sarah Petkus and Mark Koch, who discuss reverse engineering at the Blue Man Group and their projects like the Shibon suit and Solstice board. Rick Altherr details his work reverse engineering Xilinx FPGA bitstreams and automotive engine control protocols using tools like Hex Fiend. Ruth Grace Wong and Joe Rozner share experiences with firmware debugging and prototype failures, while Piotr Esden and Dominc Spill discuss the Black Magic Probe and HackRF One for wireless reverse engineering.

  • The Amp Hour · 1h 10m

    Super Tecmo Bug

    Dave Jones and Chris Gammell discuss finding bugs in high-end oscilloscopes from Rigol and Rohde & Schwarz, highlighting the complexity of modern embedded firmware. They analyze the market for cheap RISC-V microcontrollers, specifically comparing the RV32I10 to alternatives like the PUYA PY32, and discuss Google's canceled Coral development board. The conversation also covers the complexity of automotive wiring harnesses, the bankruptcy of Lightyear, and skepticism around carbon credits and ESG scores.

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.