riscv-mcu-debug — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited riscv-mcu-debug (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use this skill to debug RISC-V MCU firmware systematically. Identify the exact core, SoC, debug module, toolchain, memory map, and trap state before changing startup code, linker scripts, flash settings, or machine-mode configuration.
Use this skill when:
mstatus, mcause, mepc, mtvec, trap handlers, startup code, or linker scripts.main, traps, hangs, or has no UART/log output.Do not use this skill for Cortex-M, 8051, embedded Linux application debugging, or general C code review without target evidence.
Ask for:
RISC-V MCU behavior depends on XLEN, extensions, privilege mode, vendor CSRs, debug module, and memory map.
Use connect, flash, reset/startup, trap, runtime hang, peripheral bring-up, or RTOS scheduling.
Prefer halt/reset-halt and symbol loading before flash erase or startup rewrites.
Record pc, sp, mstatus, mcause, mepc, mtval, mtvec, and key memory addresses.
Confirm reset address, vector/trap base, RAM origin, stack top, .data copy, .bss zeroing, and main call path.
Mass erase, option bytes, boot mode, security locks, and vendor flash config changes require explicit approval.
Useful patterns:
openocd -f interface/<probe>.cfg -f target/<target>.cfg
riscv64-unknown-elf-gdb build/firmware.elf
riscv-none-elf-gdb build/firmware.elfGDB baseline:
target extended-remote :3333
monitor reset halt
info registers
p/x $pc
p/x $sp
p/x $mcause
p/x $mepc
p/x $mtval
p/x $mtvec
btCheck:
pc points to a valid executable region.sp points inside RAM and is aligned.mtvec points to the intended trap handler.mepc maps to source or disassembly.When a trap occurs:
mcause, mepc, mtval, mstatus, and mtvec.mepc to a symbol and instruction.mtval contains a bad address or instruction.Common causes:
rv32imac but running on a core without compressed instructions.If firmware fails before main():
gp and small data sections are initialized if used..data and .bss initialization.If flashing fails:
Before claiming progress:
pc, sp, mcause, mepc, mtval, and mtvec when trap-related.-march or -mabi for the actual core.User:
RISC-V 小板下载后进 trap,串口没有日志。Agent:
pc, sp, mcause, mepc, mtval, and mtvec.mepc to source or disassembly.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.