Cortex‑M7 without hardware part 8: shared library

This is Part 8 of my Cortex‑M7 without hardware series. Part 7 was supposed to be the last post. The infrastructure was complete with identical outputs, and there was nothing left to build. However, an obvious problem remained: most of the code was duplicated. Each of the projects, Renode and the QEMU, carried their own copy of the startup code, the linker script, the syscall stubs, and the C++ runtime shims. ...

March 27, 2026 · 10 min · Hannupekka Sormunen

Cortex‑M7 without hardware part 3: build

This is the third post in my Cortex‑M7 without hardware series. Parts 1 and 2 already explained the two pieces that differs from standard C/C++ -projects: the linker script and startup. So this part is building for embedded target also known as “get an ELF”. ...

December 20, 2025 · 10 min · Hannupekka Sormunen

Canonical Project Structure

If you’ve ever stared at a blank folder wondering where do I even start?, you’re not alone. I’ve been there—more than once. ...

September 21, 2025 · 3 min · Hannupekka Sormunen