rp2040

RP2040 Programming without SDK
Log | Files | Refs

commit 5bfc520dee20f6a7a22a6d31eb710fe865118df0
parent 47299977bfb3559a567edd3771e029dda426e8fa
Author: Matsuda Kenji <info@mtkn.jp>
Date:   Mon, 17 Apr 2023 10:38:00 +0900

reprogram flash

Diffstat:
Mmach.s | 22++++++++++++++++++++++
1 file changed, 22 insertions(+), 0 deletions(-)

diff --git a/mach.s b/mach.s @@ -172,6 +172,28 @@ flash_operation: blx r0 ldrh r0, [r4, #0x14] // rom_func_table + ldr r1, =('R' | 'P' << 8) // _flash_enter_cmd_xip() + ldrh r2, [r4, #0x18] // rom_table_lookup + blx r2 + mov r3, r0 + mov r0, #0 + ldr r1, sram_base + mov r2, #1 + lsl r2, r2, #12 + add r1, r1, r2 + ldr r2, =0xdeadbeef + str r2, [r1, #0] + mov r2, #1 + lsl r2, r2, #8 + blx r3 + + ldrh r0, [r4, #0x14] // rom_func_table + ldr r1, =('F' | 'C' << 8) // _flash_flush_cache() + ldrh r2, [r4, #0x18] // rom_table_lookup + blx r2 + blx r0 + + ldrh r0, [r4, #0x14] // rom_func_table ldr r1, =('C' | 'X' << 8) // _flash_enter_cmd_xip() ldrh r2, [r4, #0x18] // rom_table_lookup blx r2