summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcheapie <cheapiephp@gmail.com>2026-05-30 08:58:29 -0500
committercheapie <cheapiephp@gmail.com>2026-05-30 08:58:29 -0500
commitd609dcb35dafebeafced9c40d92ddd5da630aa54 (patch)
treebe5b1083f2f12173dbe936306e46a11cff4d62ea
parent28be6fac111899c930c8072cd42bcbd7be6f5d40 (diff)
downloadrvcontroller-d609dcb35dafebeafced9c40d92ddd5da630aa54.tar
rvcontroller-d609dcb35dafebeafced9c40d92ddd5da630aa54.tar.gz
rvcontroller-d609dcb35dafebeafced9c40d92ddd5da630aa54.tar.bz2
rvcontroller-d609dcb35dafebeafced9c40d92ddd5da630aa54.tar.xz
rvcontroller-d609dcb35dafebeafced9c40d92ddd5da630aa54.zip
Organize files better and include binaries for assembly samples
-rw-r--r--assembly/fib/Makefile24
-rw-r--r--assembly/fib/fib.S (renamed from fib.S)0
-rwxr-xr-xassembly/fib/fib.elfbin0 -> 5384 bytes
-rw-r--r--assembly/fib/fib.hex7
-rw-r--r--assembly/fib/fib.obin0 -> 1292 bytes
l---------assembly/fib/rvcontroller.ld1
-rw-r--r--assembly/guessnum-random/Makefile24
-rw-r--r--assembly/guessnum-random/guessnum-random.S (renamed from guessnum-random.S)0
-rwxr-xr-xassembly/guessnum-random/guessnum-random.elfbin0 -> 5984 bytes
-rw-r--r--assembly/guessnum-random/guessnum-random.hex26
-rw-r--r--assembly/guessnum-random/guessnum-random.obin0 -> 2400 bytes
l---------assembly/guessnum-random/rvcontroller.ld1
-rw-r--r--assembly/guessnum/Makefile24
-rw-r--r--assembly/guessnum/guessnum.S (renamed from guessnum.S)0
-rwxr-xr-xassembly/guessnum/guessnum.elfbin0 -> 5960 bytes
-rw-r--r--assembly/guessnum/guessnum.hex25
-rw-r--r--assembly/guessnum/guessnum.obin0 -> 2384 bytes
l---------assembly/guessnum/rvcontroller.ld1
-rw-r--r--assembly/hello/Makefile24
-rw-r--r--assembly/hello/hello.S (renamed from hello.S)0
-rwxr-xr-xassembly/hello/hello.elfbin0 -> 5304 bytes
-rw-r--r--assembly/hello/hello.hex4
-rw-r--r--assembly/hello/hello.obin0 -> 1196 bytes
l---------assembly/hello/rvcontroller.ld1
-rw-r--r--assembly/misa/Makefile26
-rw-r--r--assembly/misa/misa.S (renamed from misa.S)0
-rwxr-xr-xassembly/misa/misa.elfbin0 -> 5272 bytes
-rw-r--r--assembly/misa/misa.hex29
-rw-r--r--assembly/misa/misa.obin0 -> 1052 bytes
l---------assembly/misa/rvcontroller.ld1
-rw-r--r--assembly/rrxing/Makefile24
-rw-r--r--assembly/rrxing/rrxing.S (renamed from rrxing.S)0
-rwxr-xr-xassembly/rrxing/rrxing.elfbin0 -> 6404 bytes
-rw-r--r--assembly/rrxing/rrxing.hex35
-rw-r--r--assembly/rrxing/rrxing.obin0 -> 4372 bytes
l---------assembly/rrxing/rvcontroller.ld1
-rw-r--r--peripherals/loader.lua (renamed from loader.lua)0
37 files changed, 278 insertions, 0 deletions
diff --git a/assembly/fib/Makefile b/assembly/fib/Makefile
new file mode 100644
index 0000000..da333af
--- /dev/null
+++ b/assembly/fib/Makefile
@@ -0,0 +1,24 @@
+MARCH ?= rv32imacbzicntr_zicond_zicsr_zifencei_zihintpause_zilsd_zclsd_zabha_zacas_zbkb_zbkx_zcb_zcmp_zcmt
+
+.PHONY: all dump load clean
+
+all: fib.hex
+
+fib.o: fib.S
+ riscv32-none-elf-as -I../rvcontroller-libraries -march=${MARCH} -o fib.o fib.S
+
+fib.elf: fib.o
+ riscv32-none-elf-ld -T rvcontroller.ld --no-warn-rwx-segments -o fib.elf fib.o
+
+dump: fib.elf
+ riscv32-none-elf-objdump -d fib.elf
+
+fib.hex: fib.elf
+ riscv32-none-elf-objcopy -O ihex fib.elf fib.hex
+
+load: fib.hex
+ bash -c "wl-copy < fib.hex"
+
+clean:
+ rm -f fib.bin fib.elf fib.o
+
diff --git a/fib.S b/assembly/fib/fib.S
index e43195d..e43195d 100644
--- a/fib.S
+++ b/assembly/fib/fib.S
diff --git a/assembly/fib/fib.elf b/assembly/fib/fib.elf
new file mode 100755
index 0000000..2ebaf85
--- /dev/null
+++ b/assembly/fib/fib.elf
Binary files differ
diff --git a/assembly/fib/fib.hex b/assembly/fib/fib.hex
new file mode 100644
index 0000000..38d958b
--- /dev/null
+++ b/assembly/fib/fib.hex
@@ -0,0 +1,7 @@
+:1000000081420543370E00807D1EB30353009A8260
+:100010001E838548168573000000AD48294573008E
+:100020000000E3E4C3FF2945AD48730000008548A4
+:10003000732520C07300000017050000130545015B
+:10004000914873000000A9487300000020696E7396
+:0C0050007472756374696F6E730A0000AF
+:00000001FF
diff --git a/assembly/fib/fib.o b/assembly/fib/fib.o
new file mode 100644
index 0000000..0e62572
--- /dev/null
+++ b/assembly/fib/fib.o
Binary files differ
diff --git a/assembly/fib/rvcontroller.ld b/assembly/fib/rvcontroller.ld
new file mode 120000
index 0000000..bc01402
--- /dev/null
+++ b/assembly/fib/rvcontroller.ld
@@ -0,0 +1 @@
+../../rvcontroller.ld \ No newline at end of file
diff --git a/assembly/guessnum-random/Makefile b/assembly/guessnum-random/Makefile
new file mode 100644
index 0000000..62eda18
--- /dev/null
+++ b/assembly/guessnum-random/Makefile
@@ -0,0 +1,24 @@
+MARCH ?= rv32imacbzicntr_zicond_zicsr_zifencei_zihintpause_zilsd_zclsd_zabha_zacas_zbkb_zbkx_zcb_zcmp_zcmt
+
+.PHONY: all dump load clean
+
+all: guessnum-random.hex
+
+guessnum-random.o: guessnum-random.S
+ riscv32-none-elf-as -I../rvcontroller-libraries -march=${MARCH} -o guessnum-random.o guessnum-random.S
+
+guessnum-random.elf: guessnum-random.o
+ riscv32-none-elf-ld -T rvcontroller.ld --no-warn-rwx-segments -o guessnum-random.elf guessnum-random.o
+
+dump: guessnum-random.elf
+ riscv32-none-elf-objdump -d guessnum-random.elf
+
+guessnum-random.hex: guessnum-random.elf
+ riscv32-none-elf-objcopy -O ihex guessnum-random.elf guessnum-random.hex
+
+load: guessnum-random.hex
+ bash -c "wl-copy < guessnum-random.hex"
+
+clean:
+ rm -f guessnum-random.bin guessnum-random.elf guessnum-random.o
+
diff --git a/guessnum-random.S b/assembly/guessnum-random/guessnum-random.S
index 0f890cd..0f890cd 100644
--- a/guessnum-random.S
+++ b/assembly/guessnum-random/guessnum-random.S
diff --git a/assembly/guessnum-random/guessnum-random.elf b/assembly/guessnum-random/guessnum-random.elf
new file mode 100755
index 0000000..7b75725
--- /dev/null
+++ b/assembly/guessnum-random/guessnum-random.elf
Binary files differ
diff --git a/assembly/guessnum-random/guessnum-random.hex b/assembly/guessnum-random/guessnum-random.hex
new file mode 100644
index 0000000..7d535d9
--- /dev/null
+++ b/assembly/guessnum-random/guessnum-random.hex
@@ -0,0 +1,26 @@
+:10000000732E10C0AD48294573000000814293084B
+:100010000008054593053006730000002A83850219
+:100020009148170500001305650E73000000954800
+:1000300073000000AA83854873000000AD4829457D
+:100040007300000001459305400693080008730003
+:100050000000AA8363C56300634B73000DA0914841
+:10006000170500001305D50B730000004DBF914824
+:10007000170500001305150C730000004DB79148DB
+:10008000170500001305650C7300000016858548F0
+:10009000730000009148170500001305950C7300CC
+:1000A0000000854363887200170500001305E50B07
+:1000B00073000000AD48294573000000F32E10C006
+:1000C0003385CE4185487300000091481705000034
+:1000D0001305D50973000000AD48294573000000E1
+:1000E0009148170500001305050973000000B14889
+:1000F00073000000AD48730000009302E006E311B6
+:1001000055F0A94873000000456E74657220796F40
+:1001100075722067756573733A0A3E2000546F6FDD
+:10012000206C6F77212054727920616761696E0AB3
+:1001300000546F6F206869676821205472792061CC
+:100140006761696E0A00436F7272656374210A59B0
+:100150006F7520676F7420697420696E3A0A0020F9
+:10016000677565737300657300207365636F6E64F4
+:100170007300506C617920616761696E3F205B5943
+:040180002F6E5D0081
+:00000001FF
diff --git a/assembly/guessnum-random/guessnum-random.o b/assembly/guessnum-random/guessnum-random.o
new file mode 100644
index 0000000..757d611
--- /dev/null
+++ b/assembly/guessnum-random/guessnum-random.o
Binary files differ
diff --git a/assembly/guessnum-random/rvcontroller.ld b/assembly/guessnum-random/rvcontroller.ld
new file mode 120000
index 0000000..bc01402
--- /dev/null
+++ b/assembly/guessnum-random/rvcontroller.ld
@@ -0,0 +1 @@
+../../rvcontroller.ld \ No newline at end of file
diff --git a/assembly/guessnum/Makefile b/assembly/guessnum/Makefile
new file mode 100644
index 0000000..98b8d65
--- /dev/null
+++ b/assembly/guessnum/Makefile
@@ -0,0 +1,24 @@
+MARCH ?= rv32imacbzicntr_zicond_zicsr_zifencei_zihintpause_zilsd_zclsd_zabha_zacas_zbkb_zbkx_zcb_zcmp_zcmt
+
+.PHONY: all dump load clean
+
+all: guessnum.hex
+
+guessnum.o: guessnum.S
+ riscv32-none-elf-as -I../rvcontroller-libraries -march=${MARCH} -o guessnum.o guessnum.S
+
+guessnum.elf: guessnum.o
+ riscv32-none-elf-ld -T rvcontroller.ld --no-warn-rwx-segments -o guessnum.elf guessnum.o
+
+dump: guessnum.elf
+ riscv32-none-elf-objdump -d guessnum.elf
+
+guessnum.hex: guessnum.elf
+ riscv32-none-elf-objcopy -O ihex guessnum.elf guessnum.hex
+
+load: guessnum.hex
+ bash -c "wl-copy < guessnum.hex"
+
+clean:
+ rm -f guessnum.bin guessnum.elf guessnum.o
+
diff --git a/guessnum.S b/assembly/guessnum/guessnum.S
index 8d5b2fb..8d5b2fb 100644
--- a/guessnum.S
+++ b/assembly/guessnum/guessnum.S
diff --git a/assembly/guessnum/guessnum.elf b/assembly/guessnum/guessnum.elf
new file mode 100755
index 0000000..e130c53
--- /dev/null
+++ b/assembly/guessnum/guessnum.elf
Binary files differ
diff --git a/assembly/guessnum/guessnum.hex b/assembly/guessnum/guessnum.hex
new file mode 100644
index 0000000..d15f60d
--- /dev/null
+++ b/assembly/guessnum/guessnum.hex
@@ -0,0 +1,25 @@
+:10000000732E10C0AD48294573000000814293084B
+:100010000008054593053006730000002A83850219
+:100020009148170500001305650D73000000954801
+:1000300073000000AA83854873000000AD4829457D
+:100040007300000063C56300634B73000DA091480B
+:10005000170500001305D50B73000000C9B79148C0
+:10006000170500001305150C730000004DBF9148E3
+:10007000170500001305650C730000001685854800
+:10008000730000009148170500001305950C7300DC
+:100090000000854363887200170500001305E50B17
+:1000A00073000000AD48294573000000F32E10C016
+:1000B0003385CE4185487300000091481705000044
+:1000C0001305D50973000000AD48294573000000F1
+:1000D0009148170500001305050973000000B14899
+:1000E00073000000AD48730000009302E006E319BE
+:1000F00055F0A94873000000456E74657220796F51
+:1001000075722067756573733A0A3E2000546F6FED
+:10011000206C6F77212054727920616761696E0AC3
+:1001200000546F6F206869676821205472792061DC
+:100130006761696E0A00436F7272656374210A59C0
+:100140006F7520676F7420697420696E3A0A002009
+:10015000677565737300657300207365636F6E6404
+:100160007300506C617920616761696E3F205B5953
+:040170002F6E5D0091
+:00000001FF
diff --git a/assembly/guessnum/guessnum.o b/assembly/guessnum/guessnum.o
new file mode 100644
index 0000000..18672aa
--- /dev/null
+++ b/assembly/guessnum/guessnum.o
Binary files differ
diff --git a/assembly/guessnum/rvcontroller.ld b/assembly/guessnum/rvcontroller.ld
new file mode 120000
index 0000000..bc01402
--- /dev/null
+++ b/assembly/guessnum/rvcontroller.ld
@@ -0,0 +1 @@
+../../rvcontroller.ld \ No newline at end of file
diff --git a/assembly/hello/Makefile b/assembly/hello/Makefile
new file mode 100644
index 0000000..d7649e5
--- /dev/null
+++ b/assembly/hello/Makefile
@@ -0,0 +1,24 @@
+MARCH ?= rv32imacbzicntr_zicond_zicsr_zifencei_zihintpause_zilsd_zclsd_zabha_zacas_zbkb_zbkx_zcb_zcmp_zcmt
+
+.PHONY: all dump load clean
+
+all: hello.hex
+
+hello.o: hello.S
+ riscv32-none-elf-as -I../rvcontroller-libraries -march=${MARCH} -o hello.o hello.S
+
+hello.elf: hello.o
+ riscv32-none-elf-ld -T rvcontroller.ld --no-warn-rwx-segments -o hello.elf hello.o
+
+dump: hello.elf
+ riscv32-none-elf-objdump -d hello.elf
+
+hello.hex: hello.elf
+ riscv32-none-elf-objcopy -O ihex hello.elf hello.hex
+
+load: hello.hex
+ bash -c "wl-copy < hello.hex"
+
+clean:
+ rm -f hello.bin hello.elf hello.o
+
diff --git a/hello.S b/assembly/hello/hello.S
index 3eecf13..3eecf13 100644
--- a/hello.S
+++ b/assembly/hello/hello.S
diff --git a/assembly/hello/hello.elf b/assembly/hello/hello.elf
new file mode 100755
index 0000000..6aec39b
--- /dev/null
+++ b/assembly/hello/hello.elf
Binary files differ
diff --git a/assembly/hello/hello.hex b/assembly/hello/hello.hex
new file mode 100644
index 0000000..f689ad4
--- /dev/null
+++ b/assembly/hello/hello.hex
@@ -0,0 +1,4 @@
+:100000001705000013054501914873000000A94839
+:100010007300000048656C6C6F2C20776F726C6405
+:04002000210A0000B1
+:00000001FF
diff --git a/assembly/hello/hello.o b/assembly/hello/hello.o
new file mode 100644
index 0000000..2d0bfb3
--- /dev/null
+++ b/assembly/hello/hello.o
Binary files differ
diff --git a/assembly/hello/rvcontroller.ld b/assembly/hello/rvcontroller.ld
new file mode 120000
index 0000000..bc01402
--- /dev/null
+++ b/assembly/hello/rvcontroller.ld
@@ -0,0 +1 @@
+../../rvcontroller.ld \ No newline at end of file
diff --git a/assembly/misa/Makefile b/assembly/misa/Makefile
new file mode 100644
index 0000000..95095b6
--- /dev/null
+++ b/assembly/misa/Makefile
@@ -0,0 +1,26 @@
+# Intentionally less complete default march so that it's still compatible with RVController's minimum configuration
+# (in case someone changed the misa value and wants to decode the new one)
+MARCH ?= rv32ezicsr_zicond
+
+.PHONY: all dump load clean
+
+all: misa.hex
+
+misa.o: misa.S
+ riscv32-none-elf-as -I../rvcontroller-libraries -march=${MARCH} -o misa.o misa.S
+
+misa.elf: misa.o
+ riscv32-none-elf-ld -T rvcontroller.ld --no-warn-rwx-segments -o misa.elf misa.o
+
+dump: misa.elf
+ riscv32-none-elf-objdump -d misa.elf
+
+misa.hex: misa.elf
+ riscv32-none-elf-objcopy -O ihex misa.elf misa.hex
+
+load: misa.hex
+ bash -c "wl-copy < misa.hex"
+
+clean:
+ rm -f misa.bin misa.elf misa.o
+
diff --git a/misa.S b/assembly/misa/misa.S
index a360c5e..a360c5e 100644
--- a/misa.S
+++ b/assembly/misa/misa.S
diff --git a/assembly/misa/misa.elf b/assembly/misa/misa.elf
new file mode 100755
index 0000000..6f5e949
--- /dev/null
+++ b/assembly/misa/misa.elf
Binary files differ
diff --git a/assembly/misa/misa.hex b/assembly/misa/misa.hex
new file mode 100644
index 0000000..4f70427
--- /dev/null
+++ b/assembly/misa/misa.hex
@@ -0,0 +1,29 @@
+:10000000F32210309307B0001305200573000000A1
+:100010001305600573000000130530037300000032
+:1000200013052003730000001303001033F3620074
+:100030009307B00013059004B3D7670E7300000058
+:100040001303000133F362009307B000130550045B
+:10005000B3D7670E730000003713000033F362005C
+:100060009307B0001305D004B3D7670E73000000E8
+:100070001303100033F362009307B000130510045C
+:10008000B3D7670E730000001303000233F362005E
+:100090009307B00013056004B3D7670E7300000028
+:1000A0001303800033F362009307B000130540048C
+:1000B000B3D7670E730000003703010033F362000B
+:1000C0009307B00013051005B3D7670E7300000047
+:1000D000371300001303038033F362009307B0006B
+:1000E0001305C004B3D7670E73000000130340006C
+:1000F00033F362009307B00013053004B3D7670EE3
+:10010000730000001303200033F362009307B00074
+:1001100013052004B3D7670E7300000013030020FB
+:1001200033F362009307B0001305A004B3D7670E42
+:10013000730000003703080033F362009307B00038
+:1001400013054005B3D7670E730000003783000026
+:1001500033F362009307B00013050005B3D7670EB1
+:10016000730000003703200033F362009307B000F0
+:1001700013056005B3D7670E730000001303000872
+:1001800033F362009307B00013058004B3D7670E02
+:10019000730000003703040033F362009307B000DC
+:1001A00013053005B3D7670E730000009307A00056
+:0401B00073000000D8
+:00000001FF
diff --git a/assembly/misa/misa.o b/assembly/misa/misa.o
new file mode 100644
index 0000000..a8b734a
--- /dev/null
+++ b/assembly/misa/misa.o
Binary files differ
diff --git a/assembly/misa/rvcontroller.ld b/assembly/misa/rvcontroller.ld
new file mode 120000
index 0000000..bc01402
--- /dev/null
+++ b/assembly/misa/rvcontroller.ld
@@ -0,0 +1 @@
+../../rvcontroller.ld \ No newline at end of file
diff --git a/assembly/rrxing/Makefile b/assembly/rrxing/Makefile
new file mode 100644
index 0000000..1f19256
--- /dev/null
+++ b/assembly/rrxing/Makefile
@@ -0,0 +1,24 @@
+MARCH ?= rv32imacbzicntr_zicond_zicsr_zifencei_zihintpause_zilsd_zclsd_zabha_zacas_zbkb_zbkx_zcb_zcmp_zcmt
+
+.PHONY: all dump load clean
+
+all: rrxing.hex
+
+rrxing.o: rrxing.S
+ riscv32-none-elf-as -I../rvcontroller-libraries -march=${MARCH} -o rrxing.o rrxing.S
+
+rrxing.elf: rrxing.o
+ riscv32-none-elf-ld -T rvcontroller.ld --no-warn-rwx-segments -o rrxing.elf rrxing.o
+
+dump: rrxing.elf
+ riscv32-none-elf-objdump -d rrxing.elf
+
+rrxing.hex: rrxing.elf
+ riscv32-none-elf-objcopy -O ihex rrxing.elf rrxing.hex
+
+load: rrxing.hex
+ bash -c "wl-copy < rrxing.hex"
+
+clean:
+ rm -f rrxing.bin rrxing.elf rrxing.o
+
diff --git a/rrxing.S b/assembly/rrxing/rrxing.S
index 61fb41c..61fb41c 100644
--- a/rrxing.S
+++ b/assembly/rrxing/rrxing.S
diff --git a/assembly/rrxing/rrxing.elf b/assembly/rrxing/rrxing.elf
new file mode 100755
index 0000000..cab0bf9
--- /dev/null
+++ b/assembly/rrxing/rrxing.elf
Binary files differ
diff --git a/assembly/rrxing/rrxing.hex b/assembly/rrxing/rrxing.hex
new file mode 100644
index 0000000..7283fa9
--- /dev/null
+++ b/assembly/rrxing/rrxing.hex
@@ -0,0 +1,35 @@
+:1000000093086008730000009308100817050000AB
+:100010001305A51D970500009385251E730000009C
+:1000200093081008170500001305851C97050000AC
+:100030009385C51D73000000930810081705000084
+:100040001305551B970500009385851C7300000060
+:10005000930850087300000065DD930870081705C9
+:10006000000013058516C145170600001306E616A5
+:10007000C14673000000170500001305051597051C
+:10008000000093856519292A61D593081008170582
+:10009000000013058515970500009385451673002C
+:1000A00000000545F520930810081705000013050A
+:1000B0002514970500009385351573000000094548
+:1000C000C1289308100817050000130505129705AD
+:1000D000000093853513730000000D4555289308E3
+:1000E0001008170500001305F5109705000093850B
+:1000F0005512730000001545612893081008170574
+:1001000000001305E50E9705000093852510730088
+:1001100000002945B528930850087300000015CD4C
+:1001200093087008170500001305250AC145170636
+:1001300000001306860AC146730000001705000080
+:100140001305A508970500009385050D912861D535
+:1001500093086008730000006DBF9308100817052E
+:10016000000013053509970500009385650A7300A3
+:1001700000000945312893081008170500001305F1
+:10018000C506970500009385450773000000ADBDC7
+:10019000F32210C01695F32210C0E3EEA2FE828077
+:1001A000814233035500B383550003030300838367
+:1001B00003008502631773008143E31473FE054552
+:1001C00082800145828020202020202020202020A5
+:1001D000202020202020202020202020202020201F
+:1001E0002020202020206C696768740062656C6C98
+:1001F0000067617465004F46460059454C4C4F57A7
+:1002000000524544006F6E006F66660075700064B2
+:0C0210006F776E00646574656374000015
+:00000001FF
diff --git a/assembly/rrxing/rrxing.o b/assembly/rrxing/rrxing.o
new file mode 100644
index 0000000..09193ef
--- /dev/null
+++ b/assembly/rrxing/rrxing.o
Binary files differ
diff --git a/assembly/rrxing/rvcontroller.ld b/assembly/rrxing/rvcontroller.ld
new file mode 120000
index 0000000..bc01402
--- /dev/null
+++ b/assembly/rrxing/rvcontroller.ld
@@ -0,0 +1 @@
+../../rvcontroller.ld \ No newline at end of file
diff --git a/loader.lua b/peripherals/loader.lua
index 0622dc9..0622dc9 100644
--- a/loader.lua
+++ b/peripherals/loader.lua