pveentjer / Rust-based-ARM-emulator

A bogus CPU emulator written in Rust.
52 stars 6 forks source link

Rust based ARM CPU emulator

About The Project

The primary aim of this project is to implement modern ARM processors in software using Rust.

The goal is to offer insights into how modern processors might work.

This project does not aim to provide a fast implementation; for that, code generation using binary translation would be significantly faster.

Warning

This is a toy project. I want to upgrade my Rust skills and I needed a serious enough challenge to work on. Also, the challenge should initially be without the need for concurrency control so that I get a better understanding of ownership.

CPU features

Planned CPU features

Supported instructions

Arithmetic instructions:

Bitwise logical instructions:

Memory access instructions:

Miscellaneous instructions:

Synchronization instructions;

Branch & control instructions:

Unofficial instructions

More instructions will be added over time.

How to run

cargo run -- --file asm/high_ipc.asm --config cpu.yaml