No description
Find a file
2026-01-05 17:26:05 +01:00
.cargo initial reoder of folders and library crate creation 2025-12-29 23:22:18 +01:00
bin minimal working project with instruct step debugging infrastructure in place 2025-07-13 19:57:20 +02:00
firmware starting with library and measurment implementation 2026-01-01 21:20:55 +01:00
lib-bms-protocol use thiserror for protocol error type 2026-01-05 17:26:05 +01:00
.doomrc minimal working project with instruct step debugging infrastructure in place 2025-07-13 19:57:20 +02:00
.gdbinit use debug binary for loading symbols 2025-12-29 14:32:01 +01:00
.gitignore Initial commit 2025-06-20 10:23:11 +02:00
Cargo.lock use thiserror for protocol error type 2026-01-05 17:26:05 +01:00
Cargo.toml initial reoder of folders and library crate creation 2025-12-29 23:22:18 +01:00
openocd.cfg fix openocd cfg 2025-12-28 13:43:32 +01:00
README.md minimal working project with instruct step debugging infrastructure in place 2025-07-13 19:57:20 +02:00
rust-toolchain.toml Initial commit 2025-06-20 10:23:11 +02:00
wch-tools.Containerfile minimal working project with instruct step debugging infrastructure in place 2025-07-13 19:57:20 +02:00

ch32v203-bms

A simple battery management controller software.

Building

cargo build --release

Flash

wchip wchisp flash target/riscv32imc-unknown-none-elf/release/bms

Debugging

For debugging purposes a container file is provided together with wrapper scripts to start the containerized openocd and riscv-gdb transparently. The wrapper scripts assume that podman is setup.

Starting Debug server

./bin/openocd

Connecting with gdb for interactive debugging

./bin/gdb -f target/riscv32imc-unknown-none-elf/release/bms