最近搞ESP开发,装个开发环境折腾了一周才稳定。不同IDF需要的编译工具版本是不一样的。ADF又跟不同版本的IDF有兼容性问题。
整个工具链是不同的开源系统的拼合成的。一旦开发环境里需要不同的IDF/ADF混合,就得不停折腾。
乐鑫是不是可以把这些工具整合得更好一些方便开发者使用?大家怎么看?
离线
@Leotian
我搞点音频开发,折腾了一周,最终确定用IDF5.1.3+ADF 2.6,但是同时又搞点基于IDF5.2.1的非音频开发。所以在我的Winows系统上搞了支持多版本的开发环境(基于VSCode的Profile)。 板子是官方老的ESP32-LyraTD-MSC音频板。
官方网站和说明没讲如何配多版本(IDF)的开发环境,都是基于单版本的设置。都得自己摸索,例如先安装IDF5.2.1的环境,再弄一个5.1.3的,5.2.1的tools跟5.1.3的又搭不起来,后来才搞明白,tools和idf components/bsp都得按不同版本分别安装到不同目录。Github clone版本是经常性地失败,国内Gitee官方又没弄完善,好多 components还是得去github clone,最后又失败。这些大大小小的问题,得不停折腾...
官方支持网站(esp32论坛,github)都是好些天都没人回复,感觉没什么人支持生态。
离线
工具链做得不好,本质上是因为C/C++相较于rust、zig、go这些自带构建系统的语言来说其构建系统就是一坨屎。
C/C++基于CMake去构建,然后ESP的工具链及其components/BSP都是一堆开源的项目拼起来的,对于开发者来说学习曲线高一些(例如不仅要懂构建系统,还要懂RTOS原理,基本的计算机/MCU架构...)乐鑫有义务把这些整合得更易用,文档写得更系统更详细一些,坑更少一些。
离线