perf: drop stdint.h + picolibc — zero libc dependency

dma.h: typedef u32 instead of uint32_t, no stdint.h include
dma.c: use u32 instead of uint32_t
user-sample.c: unsigned char/int instead of uint8_t/uint32_t

Makefile: filter-out -lc -lm -lg -lsemihost from LDFLAGS
  → picolibc .data section (2.1KB, 532 words) eliminated
  → startup data-copy loop: ~30000 → ~200 cycles
  → total start.S latency: ~44000 → ~14000 cycles (~0.42ms at 33MHz)
This commit is contained in:
2026-06-26 22:34:26 +08:00
parent dd6053ab73
commit 52e85aa6fb
4 changed files with 26 additions and 26 deletions

View File

@@ -10,3 +10,6 @@ COMMON_DIR = ../../bsp
GCC_DIR=../../../toolchains/loongson-gnu-toolchain-8.3-x86_64-loongarch32r-linux-gnusf-v2.0
PICOLIBC_DIR=../../../toolchains/picolibc
include ../../bsp/common.mk
# Strip picolibc: no -lc -lm -lg -lsemihost, keep -lgcc only
LDFLAGS := $(filter-out -lc -lm -lg -lsemihost,$(LDFLAGS))