RoboMaster嵌入式框架“一键”解决方案,为你的“创意”服务。
这是大连民族大学C·One战队为RoboMaster比赛开发的嵌入式框架one-framework。
在使用传统的电控嵌入式框架时,我们很容易遇到这样的问题:
- 换块开发板,就要重新移植一遍所有的代码
- 队伍中同时存在多套不一样的框架,维护成本爆炸
- 要加减硬件需要手动注释或加入代码,导致很多抽象问题
- 调试困难,裸机串口容易抽风,RTT又需要JLink
- FreeRTOS乃至定时器难以满足越来越多的模块间通信需求
- 代码改后压根不知道会不会对其它部分造成影响,导致抽象问题
通过在OneFramework中集成Zephyr框架,我们不仅能解决上述痛点,还可以进一步发展嵌入式框架,促进各种新功能、新技术的诞生。
- 能够正常连接Github的网络环境;
- Zephyr工具链。安装教程
在较难访问Github的网络环境下,可以先借助Git切换Github的克隆源
# 使用https://ghproxy.link/获取最新代理地址
git config --global url."https://ghfast.top/https://github.com/".insteadOf "https://github.com/"
# 克隆完后可以取消换源
# git config --global --unset url."https://ghfast.top/https://github.com/".insteadOf# 先激活west环境,比如:
# cd && .\zephyrproject\.venv\Scripts\Activate.ps1
west init -m https://github.com/RoboMaster-DLMU-CONE/one-framework --mr main --clone-opt=--depth=1 zephyr_workspace
# workspace名称是任意的
cd zephyr_workspace
west update --fetch-opt=--depth=1# 确保根目录在one_framework
west build -b dji_board_c app# 烧录
west flash
## 使用 --openocd 指定用 OpenOCD + DAP-Link 烧录
# 调试
west debug要了解如何使用合适的方法构建、使用、开发此框架,请参阅 Wiki
使用 Doxygen 自动生成文档到 Github Page。在 doc目录下可以找到所有文档 。
- 电机drivers
- Buzzer
- application基类
- CPU负载计数器
- 使用Zephyr SDK 1.0 ,为模板类启用ccm内存优化
- 底盘Unit
- 感谢 basic_framework 开源的大量
RoboMaster相关代码。