鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    stm32系列MICROROS环境配置(使用cubemx+clion+freertos)

    已定时 已固定 已锁定 已移动
    MicroROS
    microros microrosagent
    10
    26
    6.0k
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 24758873092
      Mona Darling @1414417391
      最后由 编辑

      @1414417391 你好,这个可以先尝试一下断开与stm32的链接,最好是单片机断电,断电后再Linux启动命令,然后再启动stm32

      1 条回复 最后回复 回复 引用 0
      • 24758873092
        Mona Darling @yunze
        最后由 编辑

        @yunze 不好意思,好久没看论坛了,现在您应该是解决了,我现在回复,可以给后续出现相同问题的朋友有点启发
        问题其实是f4系列是有硬件浮点的功能,而这个工程用的是软件的,所以要在makefile里面讲硬件浮点修改为软件浮点,具体如何设置可以搜索一下f4芯片使用freertos时使用软件浮点

        1 条回复 最后回复 回复 引用 0
        • P
          pow
          最后由 编辑

          此回复已被删除!
          1 条回复 最后回复 回复 引用 0
          • P
            法蘭克葉 @2475887309
            最后由 编辑

            @2475887309

            我目前是用ROS2的Subscriber 範例去抓cubemx_publisher丟出來的資料,在程序中將預設topic改為cubemx_publisher,然後執行ros2 run 文件夾名 listener 後畫面停住沒反應.

            請問該如何用Subscriber 去抓cubemx_publisher丟出來的資料?

            24758873092 1 条回复 最后回复 回复 引用 0
            • 24758873092
              Mona Darling @pireergame
              最后由 编辑

              @pireergame 你好,首先我们得确定Linux端的ros使用topic echo 能够看到stm32发送的数据后说明通信已经没问题了,之后再看sub订阅的topic数据类型是否和stm32发送的数据类型是否一致,一般来说这两个都没问题的话已经可以实现订阅了,若是还不行最好就是自己写一个简单的sub订阅者来订阅消息,若是都尝试过的话,请告诉我,我去测试一下(我这边已经可以使用cmdvel话题来进行控制小车运动以及订阅小车反馈的车轮速度)

              1 条回复 最后回复 回复 引用 0
              • L
                lupop
                最后由 编辑

                大佬,你stm32rct6,这一套ram占用多少啊?我这用CLion + MX 生成 cmake 项目,一样的配置,占用有 90+%。。。

                24758873092 1 条回复 最后回复 回复 引用 0
                • 24758873092
                  Mona Darling @lupop
                  最后由 编辑

                  @lupop 没仔细看过,不过配置一样的话应该就差不多,毕竟任务占用大小已经设置10kb了,怎么也小不了🤣

                  1 条回复 最后回复 回复 引用 0
                  • 24758873092 2475887309 在 中 引用了 这个主题
                  • S
                    SillyBee
                    最后由 编辑

                    dalao,在部署microros(humble)的时候,cubemx_util和agent都用的humble ,板子代码编译烧录通过,能成功烧录,在ubuntu22.04上开启agent,但是到logger_setup后就没了,连接不上且rqt确实没有该节点,在上位机查看发送数据如下图 , 发现每次reset都会发送该数据10次,感觉是倒在了握手上了,请问有么有什么解决办法?板子是stm32f407igh6QAQ 屏幕截图 2025-07-02 140517.png

                    24758873092 1 条回复 最后回复 回复 引用 0
                    • 24758873092
                      Mona Darling @SillyBee
                      最后由 2475887309 编辑

                      @SillyBee 先确保是上位机agent开启后再给开发版通电再接串口(不要带电reset,这个代码没有重连功能,,所以只能这么做了)

                      1 条回复 最后回复 回复 引用 0
                      • 1
                        1163430097
                        最后由 编辑

                        为什么报错了大佬
                        e7342d31-d239-4b39-828a-7d44b522c8e3-image.png

                        1 24758873092 3 条回复 最后回复 回复 引用 0
                        • 1
                          1163430097 @1163430097
                          最后由 编辑

                          @1163430097 @2475887309

                          1 条回复 最后回复 回复 引用 0
                          • 24758873092
                            Mona Darling @1163430097
                            最后由 编辑

                            @1163430097 日志呢,报错日志是啥,我现在看的就是clion没找到头文件,这个需要再配置一下,或者清理掉.idea文件夹后选择makefile文件打开

                            1 1 条回复 最后回复 回复 引用 0
                            • 24758873092
                              Mona Darling @1163430097
                              最后由 编辑

                              @1163430097 或者你就看我的新文章,这个用cmake管理,更容易配置
https://fishros.org.cn/forum/topic/4289/stm32系列microros环境配置-更新-使用cmake管理?_=1753949287658

                              1 条回复 最后回复 回复 引用 0
                              • 3
                                3274759051
                                最后由 编辑

                                求助下大佬。我的makefile在cubeide运行时出现了问题:
                                17:18:15 **** Incremental Build of configuration Default for project microroswin ****
                                make all
                                Makefile:250: *** missing separator. Stop.
                                "make all" terminated with exit code 2. Build might be incomplete.

                                17:18:15 Build Failed. 1 errors, 0 warnings. (took 89ms)
                                把b8d1dfed-c54e-48e0-93be-0349aaa67af7-image.png 图中的问题代码换成tab缩进也不行

                                24758873092 1 条回复 最后回复 回复 引用 0
                                • 24758873092
                                  Mona Darling @3274759051
                                  最后由 编辑

                                  @3274759051 这个问题看着像是格式有问题,再查看一下makfile哪部分是被动过的,这个得慢慢查了,如果不行就看我新的文章,新文章里用cmake管理,这样方便很多

                                  3 1 条回复 最后回复 回复 引用 0
                                  • 1
                                    1163430097 @2475887309
                                    最后由 编辑

                                    @2475887309 在 stm32系列MICROROS环境配置(使用cubemx+clion+freertos) 中说:

                                    或者清理掉.idea

                                    好的,谢谢

                                    1 条回复 最后回复 回复 引用 0
                                    • 3
                                      3274759051 @2475887309
                                      最后由 编辑

                                      @2475887309 谢谢大佬及时解答!我重新生成了makefile文件成功在windows烧录了。
                                      下一步是用ubuntu的agent,但是我的vmware上的ubuntu不知道为什么识别不了我的开发板(stm32F767ZIT6).想问一下大佬这个需要什么配置吗?还有我看到github上帖子说可以用docker在windows上完成microros配置,这个推荐吗?(不知道为什么我的虚拟ubuntu不仅识别不了板子,而且一个ide都运行不了,只能求助黑子大佬了QAQ)c2779ade-2d16-4c97-ba43-a0ff9947e67c-image.png b8d06d4f-379a-4710-b313-15e214203e11-image.png

                                      24758873092 1 条回复 最后回复 回复 引用 0
                                      • 24758873092
                                        Mona Darling @3274759051
                                        最后由 编辑

                                        @3274759051 我没太看明白你的意思,不过你说已经烧录好固件了,那么stm32已经可以运行microros了(如果你按照我的配置流程来的话)剩下的就是agent,我的链接里面是有agent功能包的,你只需复制到你的工作空间下,清除掉生成文件重新编译即可,还有就是你的截图里,第二个讲的就是生成stm32静态库的流程,跟agent没啥关系

                                        1 条回复 最后回复 回复 引用 0
                                        • 第一个帖子
                                          最后一个帖子
                                        皖ICP备16016415号-7
                                        Powered by NodeBB | 鱼香ROS