V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
villivateur
V2EX  ›  嵌入式开发

PlatformIO 目前只是玩具,单片机开发还得用 Keil

  •  
  •   villivateur ·
    villivateur · 2021-04-16 20:53:41 +08:00 · 2971 次点击
    这是一个创建于 1077 天前的主题,其中的信息可能已经有所发展或是发生改变。

    好久不碰单片机,现在想搞个项目,选型 STM32xxxxxx,想找一套“现代化”的 IDE,于是找到了 PlatformIO 。

    刚开始很新奇很激动,VSCode 开发环境很友好,各种单片机型号、库很丰富,而且 STM32 可以直接用 Arduino 开发,各种一键式部署。最主要的是商用免费,差点就选用了。

    但是问题很快就出现了,Arduino 框架对于底层的封装太完美,我甚至不能方便地修改 SPI 或者 I2C 的引脚,而且 GPIO 读写速度也相较使用 CMSIS 慢很多,STM32duino 虽然仍然在发展,但是,我认为还处在“玩具”的阶段。

    如果抛弃 Arduino 框架,去使用 CMSIS,那也太不方便了,而且 STM32 标准库在 PlatformIO 里面目前居然只支持很少几款芯片( F10x 系列全系不支持)。如果我要用 FreeRTOS,FreeRTOS 官方目前也没有适配 PlatformIO 。

    最终还是回到 Keil,花钱的才是最好的。

    9 条回复    2021-07-20 14:30:33 +08:00
    mason961125
        1
    mason961125  
       2021-04-16 21:22:17 +08:00
    用 Keil/IAR 这种集成开发环境肯定是最省心的,啥啥都有,就是 UI 老了点,高分屏容易糊。

    如果想更加 现代 一点,VSCode + OpenOCD 交叉编译其实也还行,但是中间可能会踩点坑,比如 gdb 的工作目录设置错误,2017 年到现在还没修 https://github.com/microsoft/vscode-cpptools/issues/815 。不过 CubeMX 现在生成的 Makefile 工程也挺方便的,不至于以前标准库手撸一切初始化了。

    如果既要 现代 又要 省心,那么可以选 CLion,其实就是在 IDEA 的基础上把 OpenOCD 和那一套交叉编译的工具整合进去了,也没什么大的问题,配合 cmake 其实体验非常不错。

    至于 PlatformIO ?这不就是个玩具吗?
    elmagnificogg
        2
    elmagnificogg  
       2021-04-16 21:35:21 +08:00 via Android
    debug 的时候就会发现还是 keil 香
    Osk
        3
    Osk  
       2021-04-16 21:40:21 +08:00   ❤️ 2
    platformIO 确实太玩具了,

    优点: 集成了库的功能, 这个我比较喜欢, 直接可以引用一些外设库, 对于我这种 API caller 来说很方便.

    坑爹的地方:
    这也联网, 那也联网, 关键是他对自己创建的 python 进程管理得不好, 动不动就死了, 但 python 还在后台跑着呢...
    不挂代理这玩意儿基本别想轻易安装上.

    而且对于非 python 用户来说, 居然还要先了解一下 python 是如何安装的. (当然, 头铁的话也可以试试他自己安装的 portable python...)
    Osk
        4
    Osk  
       2021-04-16 21:41:51 +08:00   ❤️ 1
    对了, PlatformIO 和 arduino 库没关系吧, 好像 STM32 还可以选择其他的开发框架, arduino 封装的限制和 PIO 无关
    villivateur
        5
    villivateur  
    OP
       2021-04-16 21:44:12 +08:00
    @Osk 我觉得 PlatformIO 大部分文档和库都是 Arduino 的,STM32 的其他框架都是鸡肋
    Zeppe1in
        6
    Zeppe1in  
       2021-04-16 21:53:39 +08:00 via iPhone
    PIO 下也可以用标准库开发,但是也不好用就是了
    spadger
        7
    spadger  
       2021-07-20 12:46:55 +08:00
    PIO 何止是玩具,简直就是垃圾。连 GCC+Makefile 都不如。
    villivateur
        8
    villivateur  
    OP
       2021-07-20 13:30:13 +08:00 via Android
    @spadger 如果只是玩 arduino 还是可以的
    spadger
        9
    spadger  
       2021-07-20 14:30:33 +08:00
    @villivateur 玩 Arduino 用 Arduino 自己的 IDE 就够了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2711 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 15:38 · PVG 23:38 · LAX 08:38 · JFK 11:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.