Skip to main content

Bronzebeard is a simple, standalone assembler for developing bare metal RISC-V programs. It is designed for applications that stand on their own without relying on operating systems, frameworks, SDKs, or pre-existing software of any kind. This assembler supports the base 32-bit instruction set as well as the M, A, and C extensions (RV32IMAC).

Bronzebeard and its tools are implemented purely in Python. It has been written in order to be free from large, complex toolchains. This keeps the project portable, minimal, and easy to understand.

Motivation

Much of modern software has accrued vast amounts of bulk and complexity throughout the years. Can useful software be developed without relying on any of it? That’s the question that this project seeks to answer. I believe that the rise of RISC-V provides a great opportunity to explore different methods of program development. Installing a full operating system doesn’t have to be a prerequisite to building something useful.

Check out the DerzForth project for further elaboration of this idea.

Installation

If you are unfamiliar with virtual environments, I suggest taking a brief moment to learn about them and set one up. The Python docs provide a great tutorial for getting started with virtual environments and packages.

Bronzebeard can be installed via pip:

pip install bronzebeard

Or, if you’d rather clone this repo and play with the examples:

git clone https://github.com/theandrew168/bronzebeard.git
cd bronzebeard/
# I'd still create and activate a virtual environment here
pip install -e .

Assemble!

First, create a text file with some RISC-V assembly source code in it:

add x1, x2, x3
add x4, x5, x6

Then, with Bronzebeard installed:

bronzebeard my_asm_file.asm

By default, the assembled output binary will be placed in a file named bb.out.

Testing

Bronzebeard’s tests are written using pytest:

pip install pytest

Once installed, the tests can be run via:

pytest

Metadata

Release files for bronzebeard 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bronzebeard 0.3.0
File Size Uploaded
bronzebeard-0.3.0.tar.gz 166.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bronzebeard 0.3.0
File Interpreter ABI Platform
bronzebeard-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 305.7 kB

Release files / bronzebeard-0.3.0.tar.gz

Download URL bronzebeard-0.3.0.tar.gz
Size 166.8 kB
Tags Source
SHA-256 checksum
How to use checksums
6fe751bd1b8fe225c98b88f3c12a2c6f785f7c17732ea7dc77c50ba4535d3c39
BLAKE2b-256 checksum
How to use checksums
78b09271eee58e6a9eb795d46e75155a5b7150a3f28f6dc0baf9b7c4879a3334
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / bronzebeard-0.3.0-py3-none-any.whl

Download URL bronzebeard-0.3.0-py3-none-any.whl
Size 138.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a4931ddf126e7a74d8cf05bf2c215479cb668dea5526ec5b8ec1bad92e91b466
BLAKE2b-256 checksum
How to use checksums
622ccb06d72b4cd867e24111cf1ce276ddfee8b6747391a868c406f582994470
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.17

2 release files

0.1.16

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.25

2 release files

0.0.24

2 release files

0.0.23

2 release files

0.0.22

2 release files

0.0.21

2 release files

0.0.20

2 release files

0.0.19

2 release files

0.0.18

2 release files

0.0.17

2 release files

0.0.16

2 release files

0.0.12

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page