Baremetal Software ❤ FOSS
summary
Builds a bare‑metal RISC‑V firmware, produces two artifacts (BIN and ELF), and boots it in QEMU to validate placement of ROM vs RAM data via linker scripts and an assembly memcpy that initializes RAM at boot. Uses GDB/MI over TCP with a Python binding to single‑step, read registers and memory, hit breakpoints and extract variables, then wraps those checks in pytest to parameterize configurations and rerun the same tests against real hardware over JTAG to catch emulation drift.
AI-written summary · about
chapters (9)
- 0:00Bare metal software intro
- 1:21Hardware dev without OS
- 3:52QEMU for RISC-V setup
- 8:12QEMU memory map modeling
- 10:37Firmware linking to ROM
- 12:21Firmware testing with GDB
- 17:00pytest for hardware tests
- 19:10Firmware validation on hardware
- 20:14QEMU vs real hardware
related talks
54mCombat complexity - build your own open OS and hardware
20mBridge X86-64 Applications To ARM64 and RISC-V With Dynamic Binary Translation
43mSponsored Session: Why Don't You Love Me Back, Open-source Software?
37mEmbedded Linux on RISC-V Architecture - Status Report
42mThe Big-endian RISC-V Linux Adventure
43mSponsored Session: Why Don't You Love Me Back, Open-source Software?
49mBuilding Open Hardware with Open Software
36mEmbedded Development Made Easy: A Guide to FOSS Platforms and Maxing product value
