PlatformIO 目前只是玩具,单片机开发还得用 Keil - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
villivateur
1.56D
V2EX    嵌入式开发

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

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

    好久不碰单片机,现在想搞个项目,选型 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     Solana     2376 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 78ms UTC 01:57 PVG 09:57 LAX 17:57 JFK 20:57
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86