颠覆传统理念的嵌入式软件开发框架。诞生于Robomaster比赛,但绝不局限于此。
- 利用CMake & Clang实现跨平台开发
- VSCode一键编译调试
- ClangTidy代码检查
- 完善的文档
- CI/CD自动构建和固件发布
- 兼容多开发板和操作系统(Linux/Webots仿真/FreeRTOS/裸机)
- 图形化/命令行参数配置
- 命令行界面(CLI)
- 部分开发板支持Arduino开发
XRobot基本部分是一套开发板与功能模块的管理系统,能够让使用者选择所需的模块并搭建成完整的机器人系统。基于模块化开发即插即用,又易于对功能细节进行定制和调整以便适应多种场景,底层API封装完善简洁保证良好的运行效率。
- hw/bsp 包含底层外设驱动的通用封装,主函数入口,开发板的调试工程和配置文件等。
- hw/mcu 不同厂家和型号MCU的通用SDK和配置脚本。
- src/system 包含不同操作系统的兼容层,提供信号量/线程管理/队列/定时器等通用接口。
- src/device 通过操作底层接口对外部设备实现通信和控制的模块。
- src/module 包含多个设备,实现特定功能的模块。
- src/component 与硬件无关的数学运算
- src/robot 将多个模块和设备组合,完成复杂机器人功能
以下工具在所有框架支持的平台上都提供了实现,保证系统API的统一
- 消息订阅
- 命令行
- 数据库
- 队列/链表等数据结构
- 定时器
- 内存分配
- log打印
MCU | Board | Image |
---|---|---|
STM32F407IG | Robomaster C型开发板 | |
STM32F302CB | IMU-DEV-BOARD | |
STM32F446RE | C-Mini | |
STM32F103 | F103 CAN | |
ESP32-C3 | ESP32C3-Core | |
Linux x86 | Intel NUC | |
Linux arm | Raspberry pi 4B |
利用命令行可以辅助调试程序、校准开发板、初始化机器人、读取不同参数配置。
|
请阅读我们的文档