快速上手
本文给新成员提供电控工程从 0 到能编译运行的最短路径。
1. 前置环境
开发环境统一使用 Linux(Ubuntu 22.04/24.04 均可)。
1.1 安装基础工具
sudo apt update
sudo apt install -y git python3 python3-pip cmake ninja-build tar xz-utils wget pipx gcc g++ gdb
pipx ensurepath
1.2 安装 XRobot / LibXR 工具
pipx install xrobot
pipx install libxr
安装后确认:
xrobot --help
libxr --help
2. 获取电控仓库
git clone https://github.com/QDU-Robomaster/bsp-dev-c.git
cd bsp-dev-c
git submodule update --init --recursive
3. 初始化工程
在 bsp-dev-c 根目录执行:
xr_cubemx_cfg -d . --xrobot
xr_stm32_toolchain_switch clang -p
xrobot_setup
xrobot_gen_main
这些命令会完成:
- CubeMX 工程解析。
- 工具链配置切换。
- XRobot 工程骨架和主入口生成。
4. 添加模块(最常用)
xrobot_add_mod CMD --instance-id cmd
xrobot_add_mod Gimbal --instance-id gimbal
xrobot_add_mod Chassis --instance-id chassis
xrobot_gen_main
建议流程:
- 先加基础输入模块(CMD/传感器)。
- 再加执行模块(Gimbal/Chassis/Launcher)。
- 每次改模块配置后都重新
xrobot_gen_main。
5. 编译与构建
5.1 Debug 构建
cube-cmake --build /home/leo/Documents/bsp-dev-c/build/debug --
5.2 Release 构建
cube-cmake --build /home/leo/Documents/bsp-dev-c/build/release --
6. 代码格式化
项目中已有格式化脚本,建议在提交前执行:
tools/format_driver_src.sh
只检查不改文件:
tools/format_driver_src.sh --check
7. 新人首周建议任务
- 跑通一次完整构建(Debug + Release)。
- 阅读
CMD / Gimbal / Chassis三个模块 README。 - 完成一次小改动并通过编译。
- 提交一次规范 PR(含文档更新)。
8. 常见问题
8.1 xrobot 命令找不到
- 执行
pipx ensurepath后重新打开终端。 - 检查
~/.local/bin是否在PATH。
8.2 生成主函数后编译报模块未找到
- 检查模块是否已添加到配置文件。
- 检查子模块是否初始化完整。
- 重新执行
xrobot_gen_main。
8.3 模块加了但运行没有效果
- 检查构造参数、依赖模块和硬件节点名。
- 检查 Topic 名称是否和订阅侧一致。
- 先用最小配置验证,再逐步加复杂参数。