rp2040

RP2040 Programming without SDK
Log | Files | Refs

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:
MMakefile | 3++-
Mboot2.s | 1+
Mmach.s | 5+++--
Amain.c | 11+++++++++++
Dmain.s | 8--------
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