Developing a Bare-Metal Environment for RISC-V
Modern applications rely on complex execution environments—ranging from standard libraries to operating systems—to manage resources and hardware interactions. To build a kernel from scratch, one must strip away these abstractions and interface directly with the CPU and memory. This process involves navigating the target platform's architecture, ...
Posted on Mon, 06 Jul 2026 16:13:44 +0000 by learningsql
Setting Up NEMU and QEMU Differential Testing with Dynamic Library Integration
Overview
This guide covers setting up a differential testing environment where:
QEMU serves as the reference implementation (REF)
NEMU serves as the device under test (DUT)
Test environment: Ubuntu 18.04.5 LTS
Building NEMU
First, install the required dependencies:
apt install build-essential man gcc gdb git libreadline-dev libsdl2-dev zstd l ...
Posted on Tue, 23 Jun 2026 17:30:28 +0000 by nickman013
Debugging Techniques for DiffTest Between NEMU and QEMU
Logging Execution Traces
QEMU Logging
Enable instruction logging in QEMU with these launch parameters:
-d in_asm -D ./qemu.log
For additional CPU register output, include the cpu parameter: -d in_asm,cpu.
NEMU Logging
Configure NEMU during compilation via make menuconfig:
Testing and Debugging -> [*] Enable debug features: instruction traci ...
Posted on Fri, 19 Jun 2026 17:51:47 +0000 by carsale
QEMU Emulation for Orange Pi (H3 Model)
Host Enviroment Setup
A Windows 10 system with WSL (using OpenEuler) serves as the host. Other Linux distributions are acceptable (differences exist mainly in package management workflows).
QEMU Package Installation
To emulate the ARM-based Orange Pi (H3), install these two QEMU packages:
qemu-system-aarch64 (enables ARM64 emulation)
qemu-img ...
Posted on Mon, 01 Jun 2026 18:05:04 +0000 by maseeha