Exploiting C undefined behavior to blink an LED

When dealing with errors in firmware, one encounters formal explanations of concepts like "undefined behavior," "storage duration," "variable lifetime," "initialization," and "dereferencing", whether scrolling Stack Overflow, arguing with your LLM of choice, or studying C standards at university, or discussing over an implementation detail with a colleague. These concepts are presented theoretically, rigorously, as abstract … Continue reading Exploiting C undefined behavior to blink an LED

Toggling a pin, thoughts on code portability

There are many articles that explain embedded software, bare metal programming, and architectural design, providing a lot of practical tips. The great majority of projects, particularly those that require quick but nice prototypes, are based on Arduino. However, starting an Arduino project seems not to require any theoretical knowledge of firmware architecture, bare metal, and … Continue reading Toggling a pin, thoughts on code portability