Skip to content

Simple ARMv7 simulator written in Java, intended for educational purpose.

License

Notifications You must be signed in to change notification settings

Dwight-Studio/JArmEmu

Repository files navigation

drawing

JArmEmu

Simple ARMv7 simulator written in Java, intended for educational purpose.

Features

JArmEmu Editor

drawing JArmEmu is a simple, user-friendly simulator that provides basic control and information about a simulated ARMv7 architecture.

drawing JArmEmu is powered by an ARMv7 interpreter built Ex Nihilo for this project, which provides real-time syntax highlighting, intelligent auto-completion, memory, stack and register monitoring...

You can write your program using ARMv7 instructions and commonly used GNU directives, and watch the simulator execute it with details on any step.

Note

The implemented instruction set is available directly in the simulator (Help > See instructions...).

Install

From Git

You can compile and run drawing JArmEmu directly from source by cloning this repository. The project requires the JDK 21 and is built using Maven 3.

# Clone the repository
git clone https://github.com/Dwight-Studio/JArmEmu
cd JArmEmu

To launch drawing JArmEmu, you juste need to compile and run the maven goal exec:java :

mvn compile exec:java

Portable

drawing JArmEmu is distributed in a portable archive available from the release page. It requires Java 21 (or newer), which is not included in the archive.

Windows

Windows Chocolatey

Chocolatey downloads

You can download an installer for drawing JArmEmu (or the portable version) from the release page.

Important

The executables aren't signed, and can trigger a warning screen from Windows UAC (which you can simply ignore).

drawing JArmEmu is also available on Chocolatey:

choco install jarmemu

FlatPak

FlatPak FlatHub

FlatHub downloads

drawing JArmEmu is available on FlatHub.

Tip

You can install it using your Software Manager (Gnome Software, KDE Discover...).

You can install it using FlatPak CLI:

flatpak install flathub fr.dwightstudio.JArmEmu

Fedora

Fedora Nobara

Copr build status

drawing JArmEmu is available on Fedora Copr:

sudo dnf copr enable dwight-studio/JArmEmu
sudo dnf install jarmemu

Arch Linux

Arch Linux Manjaro

AUR

drawing JArmEmu is available on AUR. Use your favorite AUR Helper (yay for instance):

yay -S jarmemu

Debian

Debian Ubuntu Pop! OS Linux Mint Kali Linux

drawing JArmEmu is available on the Dwight Studio repository.

Note

The following command will install the Dwight Studio's repository which hosts Debian binaries for all available projects of the collective.

You can install it by running:

sudo wget -O - https://deb.dwightstudio.fr/install-repository.sh | sudo bash
sudo apt update && sudo apt install jarmemu

Nix

NixOS NixOS

drawing JArmEmu is available with the Nix package manager through this repository flake. You can build/run it imperatively by running (with flake enabled):

nix build github:Dwight-Studio/jArmEmu
nix run github:Dwight-Studio/jArmEmu

Otherwise, use your preferred way to declaratively install the package jarmemu from the github:Dwight-Studio/jArmEmu flake as input.

Licence

This project is managed by the drawing Dwight Studio collective, which is not affiliated not endorsed by Arm Limited in any sort.

This project was created by Kévin "FoxYinx" TOLLEMER and Alexandre "Deleranax" LECONTE, students at INSA Rennes (not affiliated). drawing JArmEmu is distributed in open source under GPL3 (refer to the LICENCE file).