【闲话】Vscode+PlatformIO+esp-idf+esp32物联网开发小记之环境搭建

        Vscode作为一款优秀的代码编辑器,具有极为方便快捷的代码辅助与拓展功能,使用熟练后开发效率大大提高,且作为典型的IDE,不需要花费大量的时间成本即可上手,Vscode结合各种插件,可以搭建出大部分的开发环境,在嵌入式领域,Vscode也是一大神器,本人曾尝试从交叉编译工具开始搭建STM32的IDE,在Ubuntu上实践成功,编译速度相比keil成倍提升,缺点是需要自己写makefile,这就导致一些特殊的lib不好引入,实为一大遗憾,且由于某些尚未解决的问题,没能搞定OpenOCD,用CubeMX+Vscode+CubeProgrammer,勉强搭了一个半残废的环境,胜在稳定,搭建的方法也是网上东拼西凑找的,有时间做个总结。换到Windows,原先的方法反而行不通了,也罢,Ubuntu没有其他可选,Windows还不大把?尽管如此,Vscode的方便还是驱动着我找到了这个强大的插件——PlatformIO,选择它的一大理由,就是它的支持更新速度,对于主流的芯片,能很快适配,经测试,STM32整体开发非常流畅,可以说相当不错。

        但,这不是今天我要讲的,今天要讲的Vscode+PlatformIO+esp-idf+esp32的环境搭建,其实也相当简单,在PlatformIO上新建工程,选择esp32的broad,framework选的esp-idf,经过漫长的第一次创建的配置,把测试代码拷到main里,build,upload,一气呵成。。。才怪,中间的坑多的很。。。首先测试代码是乐鑫开源的,这就要吐槽下乐鑫的用户支持,代码开源在GitHub上,众所周知,GitHub是时而存在,时而不存在的网站,我们称之为薛定谔的GitHub,把代码开源在一个不存在的网站,这不是存心不让用户下载吗(怒),好在Gitee有人搬运,嗯,忍了。除了PaltformIO外,乐鑫还推出了自己的Vscode插件,称为Espressif IDF,说实话,IDF这个名字起的不错,让人联想到某先进三代机,题外话,Espressif IDF的安装依赖esp-idf tools,乐鑫的开源下载工具,然后下载源是GitHub,经历了漫长的龟速下载以后,宣告失败,不知道是我的问题还是本身支持一般,当然还有一个办法是解决GitHub的网速问题,具体就不展开了。

        还好,我们有PlatformIO,把测试代码拷到main里,build,upload,一气呵成。。。并没有,我这的话出现最大的问题是upload的时候串口有问题,当然这是我电脑驱动的问题,花费了很多时间排查出来了,先说解决方法,去官网下驱动,进设备管理器查看CP210x的驱动分配到COM号,比如是COM3,然后你发现upload后返回错误serial.serialutil.serialexception: could not open port 'com3',把驱动卸载了,重装,直到COM号不是COM3,比如COM8,再试一次就可以了,这是估计我电脑过去乱连蓝牙模块导致的,抛开其他问题不谈,esp32的环境可选的有很多,还是不错的,把这一切搞定,就可以愉快地开发esp32了

        后话:Arduino的framework真香

posted @ 2021-08-24 17:31  骤雨重山  阅读(3008)  评论(0编辑  收藏  举报