ch32rv_debug/lib.rs
1//! en: debug layer. Run control, breakpoints, GDB server (docs/cli.ja.md §4.4, §4.6).
2//!
3//! Contract:
4//! - Never modify target flash on attach (do not reproduce WCH OpenOCD's behavior).
5//! - A breakpoint is a RAM `ebreak` patch, a hardware trigger, or a flash page rewrite, in that
6//! order (see [`server`]). GDB is told the truth (no `hwbreak+` pretense like minichlink).
7//! - Only the integer registers and the PC are exposed; V4F parts' FPU registers are not.
8//!
9//! ja: debug 層。実行制御・breakpoint・GDB server。契約: attach 時に flash を書き換えない、
10//! breakpoint は RAM patch → HW trigger → flash page 書き換えの順で実態どおり申告する、整数レジスタのみ出す。
11
12pub mod arch;
13pub mod server;
14
15pub use arch::{Rv32, Rv32CoreRegs, Rv32RegId};
16pub use server::Ch32Target;