commit 6e0e105d09cf12db227f7df63dc5965be158c5d5
parent 1f59b56e6e8c05723ddf5bfd971f71ddf84c88fd
Author: Matsuda Kenji <info@mtkn.jp>
Date: Tue, 18 Apr 2023 09:37:24 +0900
fix bug.
copying of flash to sram was not enough
Diffstat:
5 files changed, 17 insertions(+), 11 deletions(-)
diff --git a/Makefile b/Makefile
@@ -16,7 +16,8 @@ clean:
rm -f *.o *.elf *.uf2 *.bin
rm -f bincrc bin2uf2
-.SUFFIXES: .s .o
+.c.o:
+ $(CC) $(CFLAGS) -o $@ $<
.s.o:
$(AS) $(ASFLAGS) -o $@ $<
diff --git a/boot2.s b/boot2.s
@@ -26,6 +26,7 @@ setup_xip:
ldr r0, etext
sub r0, r0, r3
lsr r0, #2
+ add r0, #1 // TODO: overflow check
sram_cpy:
ldr r1, [r2, #0]
str r1, [r3, #0]
diff --git a/mach.s b/mach.s
@@ -134,11 +134,12 @@ pll_lock:
lsl r1, r1, #5
str r1, [r0, #0x2c] // UART0_UARTLCR_H
+/*
+flash_operation:
ldr r3, xip_base
ldr r0, [r3, #0]
bl printh
-flash_operation:
ldr r4, rom_base
ldrh r0, [r4, #0x14] // rom_func_table
@@ -202,7 +203,7 @@ flash_operation:
ldr r3, xip_base
ldr r0, [r3, #0]
bl printh
-
+*/
pop {r4, r5, pc}
unreset:
diff --git a/main.c b/main.c
@@ -0,0 +1,11 @@
+extern void init(void);
+extern void led_p2(void);
+
+int
+main(void)
+{
+ init();
+ while(1) {
+ led_p2();
+ }
+}
diff --git a/main.s b/main.s
@@ -1,8 +0,0 @@
- .global main
-main:
- push {r7, lr}
- //add r7, sp, #0
- bl init
-loop:
- bl led_p2
- b loop