aboutsummaryrefslogtreecommitdiff
path: root/VexRiscv/src/main/c/murax/xipBootloader/demo.S
diff options
context:
space:
mode:
authorFriedrich Beckmann <friedrich.beckmann@hs-augsburg.de>2022-07-25 17:55:39 +0200
committerFriedrich Beckmann <friedrich.beckmann@hs-augsburg.de>2022-07-25 17:55:39 +0200
commit3fff6023602822531efdae30bc8ebf862967f1ef (patch)
tree16028102b8d850f8ab3115d28a8539ca6bc5f51d /VexRiscv/src/main/c/murax/xipBootloader/demo.S
Initial Commit
Diffstat (limited to 'VexRiscv/src/main/c/murax/xipBootloader/demo.S')
-rw-r--r--VexRiscv/src/main/c/murax/xipBootloader/demo.S27
1 files changed, 27 insertions, 0 deletions
diff --git a/VexRiscv/src/main/c/murax/xipBootloader/demo.S b/VexRiscv/src/main/c/murax/xipBootloader/demo.S
new file mode 100644
index 0000000..064db6f
--- /dev/null
+++ b/VexRiscv/src/main/c/murax/xipBootloader/demo.S
@@ -0,0 +1,27 @@
+#define GPIO_BASE 0xF0000000
+#define GPIO_OUTPUT 4
+#define GPIO_OUTPUT_ENABLE 8
+
+
+.global crtStart
+
+crtStart:
+
+ li x31, 0x12340000 // magic word expected by bootloader
+
+ li x31, GPIO_BASE
+ li t0, 0x000000FF
+ sw t0, GPIO_OUTPUT_ENABLE(x31)
+
+ li t0,1
+redo:
+ sw t0, GPIO_OUTPUT(x31)
+ li t1,10000
+ slli t0,t0,1
+ andi t0,t0,0xFF
+ bnez t0, loop
+ li t0,1
+loop:
+ addi t1,t1,-1
+ bnez t1, loop
+ j redo