Overview
Explore advanced techniques for testing microcontroller firmware using Python in this EuroPython 2017 conference talk. Learn how to leverage CFFI to create integration tests that cover nearly the entire firmware of a microcontroller, executing it on a standard x86 architecture instead of the target hardware. Discover methods for simulating hardware functionality with Python code, enabling unmodified execution of firmware above the hardware abstraction layer. Gain insights into utilizing security testing tools like AddressSanitizer and American Fuzzy Lop for microcontroller firmware. Delve into topics such as MicroPython, PImake, collecting header files, function prototypes, running modules, platform-dependent code, and achieving hardware independence in testing.
Syllabus
Introduction
Overview
Why Python
MicroPython
PImake
Collecting header files
Function prototypes
Running the module
Micro Python shell
Structure
Namespace
Platform dependent code
External interface
Fast execution
Dynamic program analysis
Hardware independence
Taught by
EuroPython Conference