diff options
| author | cheapie <cheapiephp@gmail.com> | 2026-06-19 23:15:24 -0500 |
|---|---|---|
| committer | cheapie <cheapiephp@gmail.com> | 2026-06-19 23:15:24 -0500 |
| commit | 69a7cb520189e910ba85123275d025704beee4e6 (patch) | |
| tree | bbe0c2e063d9086cd9acb889775cbb229559e03f | |
| parent | d4bc00d7ee450cf5da5af39391d20b1780edaadf (diff) | |
| download | rvcontroller-69a7cb520189e910ba85123275d025704beee4e6.tar rvcontroller-69a7cb520189e910ba85123275d025704beee4e6.tar.gz rvcontroller-69a7cb520189e910ba85123275d025704beee4e6.tar.bz2 rvcontroller-69a7cb520189e910ba85123275d025704beee4e6.tar.xz rvcontroller-69a7cb520189e910ba85123275d025704beee4e6.zip | |
Add random number printer sample
| -rw-r--r-- | c/randomnumbers/Makefile | 20 | ||||
| -rw-r--r-- | c/randomnumbers/randomnumbers.c | 14 | ||||
| -rwxr-xr-x | c/randomnumbers/randomnumbers.elf | bin | 0 -> 6288 bytes | |||
| -rw-r--r-- | c/randomnumbers/randomnumbers.hex | 13 | ||||
| -rw-r--r-- | c/randomnumbers/randomnumbers.o | bin | 0 -> 1420 bytes | |||
| -rw-r--r-- | c/randomnumbers/rvcontroller.ld | 45 |
6 files changed, 92 insertions, 0 deletions
diff --git a/c/randomnumbers/Makefile b/c/randomnumbers/Makefile new file mode 100644 index 0000000..4fa36c6 --- /dev/null +++ b/c/randomnumbers/Makefile @@ -0,0 +1,20 @@ +all: randomnumbers.hex + +randomnumbers.o: randomnumbers.c + clang -target riscv32-none-elf -I../rvcontroller-libraries -march=rv32imacb_zicntr_zicond_zicsr_zifencei_zihintpause_zilsd_zclsd_zabha_zacas_zbkb_zbkx_zcb_zcmp_zcmt -ffreestanding -O3 -c -o randomnumbers.o randomnumbers.c + +randomnumbers.elf: ../rvcontroller-libraries/rvcontroller-init.o ../rvcontroller-libraries/rvcontroller-ecalls.o randomnumbers.o + clang -target riscv32-none-elf -T rvcontroller.ld -nostdlib -nostartfiles -Xlinker --no-warn-rwx-segments -o randomnumbers.elf ../rvcontroller-libraries/rvcontroller-init.o randomnumbers.o ../rvcontroller-libraries/rvcontroller-ecalls.o + +dump: randomnumbers.elf + riscv32-none-elf-objdump -d randomnumbers.elf + +randomnumbers.hex: randomnumbers.elf + riscv32-none-elf-objcopy -O ihex randomnumbers.elf randomnumbers.hex + +load: randomnumbers.hex + bash -c "wl-copy < randomnumbers.hex" + +clean: + rm -f randomnumbers.hex randomnumbers.elf randomnumbers.o init.o + diff --git a/c/randomnumbers/randomnumbers.c b/c/randomnumbers/randomnumbers.c new file mode 100644 index 0000000..b0e0d13 --- /dev/null +++ b/c/randomnumbers/randomnumbers.c @@ -0,0 +1,14 @@ +/* Random Number Thing for RVController + * A product of Advanced Mesecons Devices, a Cheapie Systems company + * This is free and unencumbered software released into the public domain. + * See http://unlicense.org/ for more information */ + +#include <stdint.h> +#include "rvcontroller-ecalls.h" + +void main(void) { + for (;;) { + printint(randomint(0,999999)); + printchar('\n'); + } +} diff --git a/c/randomnumbers/randomnumbers.elf b/c/randomnumbers/randomnumbers.elf Binary files differnew file mode 100755 index 0000000..d9ac97e --- /dev/null +++ b/c/randomnumbers/randomnumbers.elf diff --git a/c/randomnumbers/randomnumbers.hex b/c/randomnumbers/randomnumbers.hex new file mode 100644 index 0000000..c61811b --- /dev/null +++ b/c/randomnumbers/randomnumbers.hex @@ -0,0 +1,13 @@ +:10000000370101002920A94873000000828052B8FE
+:1000100037440F001304F4230145A2858D282120C5
+:1000200029451128D5BF854873000000828091487A
+:10003000730000008280AD48730000008280930846
+:1000400010087300000082809308500873000000BD
+:10005000828093087008730000008280732510C0AE
+:100060008280732500C082809308600873000000BE
+:1000700082800589F322008093920248B3E2A200B5
+:1000800073900280828095487300000082809308FC
+:100090000008730000008280A14873000000828085
+:1000A00093083008730000008280930840087300B2
+:0400B000000082804A
+:00000001FF
diff --git a/c/randomnumbers/randomnumbers.o b/c/randomnumbers/randomnumbers.o Binary files differnew file mode 100644 index 0000000..b922158 --- /dev/null +++ b/c/randomnumbers/randomnumbers.o diff --git a/c/randomnumbers/rvcontroller.ld b/c/randomnumbers/rvcontroller.ld new file mode 100644 index 0000000..985892b --- /dev/null +++ b/c/randomnumbers/rvcontroller.ld @@ -0,0 +1,45 @@ +/* Thanks https://github.com/darklife/darkriscv */ + __heap_size = 0x200; /* required amount of heap */ + __stack_size = 0x800; /* required amount of stack */ + ENTRY(_start); + MEMORY + { + RAM (rwx) : ORIGIN = 0x00000000, LENGTH = 0x10000 + } + SECTIONS + { + .text : + { + *(.text.startup) + *(.text) + *(.text) + *(.rodata*) + } > RAM + .data : + { + *(.sbss) + *(.data) + *(.bss) + *(.rela*) + *(COMMON) + } > RAM + + .heap : + { + . = ALIGN(4); + PROVIDE ( end = . ); + _sheap = .; + . = . + __heap_size; + . = ALIGN(4); + _eheap = .; + } >RAM + + .stack : + { + . = ALIGN(4); + _estack = .; + . = . + __stack_size; + . = ALIGN(4); + _sstack = .; + } >RAM + } |
