fix: update Pigweed to OpenPRoT fork, fix MPU layout, rename mctp-stack dep
- MODULE.bazel: switch pigweed git_override to OpenPRoT/pigweed@demo-ast1060-mctp
(4a682f70c80af6df56b1003a77bd0f9658dae16d)
- MODULE.bazel.lock: regenerated after Pigweed remote change
- services/mctp/server/Cargo.toml: rename mctp-stack dep to mctp-lib so Rust
resolves it as mctp_lib:: (fixes E0432 unresolved import)
- services/mctp/transport-i2c/Cargo.toml: same mctp-stack -> mctp-lib rename
- target/ast1060-evb/mctp/system.json5: fix PMSAv7 MPU alignment errors
- Reduce kernel flash_size_bytes to 129792 so kernel ends at 0x20000
(128KB boundary), placing all app flash regions at aligned addresses
- Reduce all RAM regions from 64KB to 32KB to fit within 640KB usable SRAM
- Update kernel ram_start_address from 0xB0000 to 0x98000
- Total layout: 640KB = 0xA0000
- services/mctp/server/README.md: add build/test instructions, memory map
diagram, and fix stale mctp_stack references
The OpenPRoT Technical Charter can be found at https://github.com/OpenPRoT/.github/blob/main/GOVERNANCE.md
This project uses cargo-xtask for build automation and project management.
You can run tasks using cargo xtask <task-name>:
cargo xtask build - Build the projectcargo xtask test - Run all testscargo xtask check - Run cargo checkcargo xtask clippy - Run clippy lintscargo xtask fmt - Format code with rustfmtcargo xtask clean - Clean build artifactscargo xtask dist - Build a distribution (release build)cargo xtask docs - Build documentation with mdbookcargo xtask cargo-lock - Manage Cargo.lock filecargo xtask precheckin - Run all pre-checkin validation checkscargo xtask header-check - Check license headers in source filescargo xtask header-fix - Fix missing license headers in source files# Build the project cargo xtask build # Run tests cargo xtask test # Create a distribution cargo xtask dist # Format code cargo xtask fmt # Run clippy cargo xtask clippy # Build documentation cargo xtask docs # Run all pre-checkin validation checks cargo xtask precheckin # Check license headers cargo xtask header-check # Fix missing license headers cargo xtask header-fix
The project is structured as a Cargo workspace with two main components:
openprot/ - The main applicationxtask/ - Build automation scriptsThe xtask workflow allows you to add custom build steps, automation, and project management tasks written in Rust, making them cross-platform and easy to maintain.
No additional tools are required - everything is handled through Cargo and the xtask scripts.