參考資訊:
https://github.com/ch32-rs/wlink
file:///home/steward/Downloads/CH32V003RM.PDF
https://github.com/AdiHamulic/CH32V003-Bare-Metal
https://github.com/ch32-rs/wlink/blob/main/docs/references.md
https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases/tag/v14.2.0-3
按鍵是連接到C2

IOPDEN

暫存器位址

I/O Mode

Out

In

main.s
.global _start
.equ RCC_APB2PCENR, 0x40021018
.equ R32_GPIOD_CFGLR, 0x40011400
.equ R32_GPIOC_CFGLR, 0x40011000
.equ R32_GPIOD_OUTDR, 0x4001140c
.equ R32_GPIOC_OUTDR, 0x4001100c
.equ R32_GPIOC_INDR, 0x40011008
.align 2
.option norvc
.text
j _start
.org 0x0300
_start:
li t0, (1 << 5) | (1 << 4)
li a0, RCC_APB2PCENR
sw t0, 0(a0)
li t0, (1 << 11)
li a0, R32_GPIOC_CFGLR
sw t0, 0(a0)
li t0, (1 << 24)
li a0, R32_GPIOD_CFGLR
sw t0, 0(a0)
li t0, (1 << 2)
li a0, R32_GPIOC_OUTDR
sw t0, 0(a0)
li a0, R32_GPIOD_OUTDR
li a1, R32_GPIOC_INDR
li a2, (1 << 6)
0:
lw t0, 0(a1)
sll t0, t0, 4
xor t0, t0, a2
sw t0, 0(a0)
j 0b
.end
完成
