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真香

最新文章

  1. VS中逻辑文件夹与实际文件夹
  2. 表达式括号匹配(stack)
  3. Redis学习笔记~常用命令总结
  4. AutoFac使用~IOC容器(DIP,IOC,DI)
  5. 【POJ 2250】Compromise(最长公共子序列LCS)
  6. 双心ping GUI工具1.0
  7. Visual Studio 自定义控件不显示在工具箱
  8. chinacloud大数据新闻
  9. 有理数类 Java BigInteger实现
  10. PDF转图片 C# with Adobe API
  11. 浅谈Chrome V8引擎中的垃圾回收机制
  12. Log4Qt 使用(一)
  13. 如何同时激活两个不同版本的MyEclipse 【MyEclipse2013和MyEclipse2014同时激活】
  14. 使用msm文件创建msi
  15. mkdir 命令详解
  16. java.lang.IllegalAccessError: tried to access method org.apache.poi.util.POILogger.log from class org.apache.poi.openxml4j.opc.ZipPackage
  17. android studio2.0出现的gradle问题,instant Run即时运行不了.
  18. java - day003 - 循环嵌套, 循环命名, while, 数组
  19. contos7搭建syslog服务端与客户端
  20. 《python语言程序设计》_第4章_选择

热门文章

  1. Redis-05持久化
  2. mysql16 sql优化-order by-GROUP BY
  3. docker-01基本介绍
  4. 【Oculus Interaction SDK】(九)使用控制器时显示手的模型
  5. Class path contains multiple SLF4J bindings解决
  6. cs 起源 fps 逆向
  7. JZOJ 4314. 【NOIP2015模拟11.4】老司机
  8. Using / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0.
  9. 初学 Canvas
  10. 基于C++的OpenGL 11 之投光物