micro-ROS for STM32CubeMX/IDE 常见问题解决方案
项目基础介绍
micro-ROS for STM32CubeMX/IDE
是一个旨在简化在 STM32CubeMX/IDE 项目中集成 micro-ROS 的工具包。该项目支持在两种不同的中间件上使用 micro-ROS:
- eProsima Micro XRCE-DDS:默认的 micro-ROS 中间件。
- embeddedRTPS:一个与 ROS 2 兼容的 RTPS 中间件的实验性实现。
该项目主要使用 C 语言 进行开发,同时也包含少量的 Shell、Python 和 CMake 脚本。
新手使用注意事项及解决方案
1. 项目克隆和初始化问题
问题描述:新手在克隆项目并尝试初始化时,可能会遇到 Git 子模块未正确初始化的问题。
解决步骤:
-
克隆项目:
git clone https://github.com/micro-ROS/micro_ros_stm32cubemx_utils.git
-
初始化子模块:
cd micro_ros_stm32cubemx_utils git submodule update --init --recursive
-
检查子模块状态:
git submodule status
2. STM32CubeMX 项目配置问题
问题描述:在 STM32CubeMX 中配置项目时,可能会遇到 Makefile 工具链未正确设置的问题。
解决步骤:
-
打开 STM32CubeMX 项目:
- 使用
sample_project.ioc
文件生成示例项目。
- 使用
-
设置 Makefile 工具链:
- 在
Project Manager -> Project
中,确保选择了Makefile
工具链。
- 在
-
修改 Makefile:
- 在生成的 Makefile 中,添加以下代码:
####################################### # micro-ROS addons ####################################### LDFLAGS += micro_ros_stm32cubemx_utils/microros_static_library/libmicroros/libmicroros.a C_INCLUDES += -Imicro_ros_stm32cubemx_utils/microros_static_library/libmicroros/microros_include
- 在生成的 Makefile 中,添加以下代码:
3. 传输配置问题
问题描述:在配置传输接口时,可能会遇到 U(S)ART 或 USB CDC 配置不正确的问题。
解决步骤:
-
配置 U(S)ART with DMA:
- 在 STM32CubeMX 中启用 U(S)ART。
- 为选定的 USART 启用 DMA 用于 Tx 和 Rx。
- 将 DMA 优先级设置为 Very High。
- 将 DMA 模式设置为 Circular 用于 Rx。
-
配置 U(S)ART with Interrupts:
- 在 STM32CubeMX 中启用 U(S)ART。
- 为选定的 USART 启用全局中断。
-
配置 USB CDC:
- 在 STM32CubeMX 中启用 USB CDC。
- 确保 USB 设备配置正确,并设置相应的 DMA 和中断。
通过以上步骤,新手可以更好地理解和解决在使用 micro-ROS for STM32CubeMX/IDE
项目时可能遇到的问题。