搜索
bottom↓
回复: 53

Visual Studio Code安装Espressif IDF插件就可以开发ESP32了?

[复制链接]

出0入4汤圆

发表于 2022-2-7 23:37:09 | 显示全部楼层 |阅读模式
Visual Studio Code安装Espressif IDF插件就可以开发ESP32了?    就这么 简单?  坑大不大?是否是正道?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入4汤圆

发表于 2022-2-7 23:47:13 来自手机 | 显示全部楼层
是的,就是这么简单

出0入0汤圆

发表于 2022-2-8 00:29:35 | 显示全部楼层
之前用过官方的 Eclipse + 插件的开发环境,大部分时间都在搞 ESP-IDF 的 git 仓库和 Python 环境了
VS Code 这个全集成了?

出20入25汤圆

发表于 2022-2-8 07:22:54 来自手机 | 显示全部楼层
w600 发表于 2022-2-7 23:47
是的,就是这么简单

谁成功了,用cmsis dap调试啊

出0入4汤圆

 楼主| 发表于 2022-2-8 08:05:35 | 显示全部楼层
w600 发表于 2022-2-7 23:47
是的,就是这么简单

你这么使用过?

出0入224汤圆

发表于 2022-2-8 08:06:37 来自手机 | 显示全部楼层
wudicgi 发表于 2022-2-8 00:29
之前用过官方的 Eclipse + 插件的开发环境,大部分时间都在搞 ESP-IDF 的 git 仓库和 Python 环境了
VS Cod ...

这些还是要安装的,不过他会自动安装,最重要,"网络"要好。

出20入25汤圆

发表于 2022-2-8 08:18:22 来自手机 | 显示全部楼层
本帖最后由 chenchaoting 于 2022-2-8 08:19 编辑
fbwcpu 发表于 2022-2-8 08:05
你这么使用过?


可以用的,我前两天搞好了,可以编译,串口下载。但是openocd调试没搞定,还有网络要好,就是哪都可以上的

出0入228汤圆

发表于 2022-2-8 08:43:09 | 显示全部楼层
腾讯 香港 轻量

出0入0汤圆

发表于 2022-2-8 08:47:40 | 显示全部楼层
这个只是一个导入口,进入后还要安装一些东西。。此前装过,有些东西是要从github上下载,折腾了好久。。

出0入4汤圆

 楼主| 发表于 2022-2-8 09:02:35 | 显示全部楼层
wxws 发表于 2022-2-8 08:43
腾讯 香港 轻量

啥意思?科学上网?

出0入4汤圆

发表于 2022-2-8 09:09:30 | 显示全部楼层
Phonse 发表于 2022-2-8 08:47
这个只是一个导入口,进入后还要安装一些东西。。此前装过,有些东西是要从github上下载,折腾了好久。。 ...

有教程吗?介绍一下

出0入134汤圆

发表于 2022-2-8 09:18:28 | 显示全部楼层
PlatformIO不是更好吗?

出0入224汤圆

发表于 2022-2-8 09:24:08 来自手机 | 显示全部楼层
elecfun 发表于 2022-2-8 09:18
PlatformIO不是更好吗?

PlatformIO,要用flash代码加密,怎么弄?

出0入17汤圆

发表于 2022-2-8 09:28:06 | 显示全部楼层
这个能装好开发环境,纯粹看人品

出0入4汤圆

 楼主| 发表于 2022-2-8 10:01:26 | 显示全部楼层
小小菜 发表于 2022-2-8 09:28
这个能装好开发环境,纯粹看人品

搭建环境就有很多坑?

出0入0汤圆

发表于 2022-2-8 10:06:31 | 显示全部楼层
yyts 发表于 2022-2-8 08:06
这些还是要安装的,不过他会自动安装,最重要,"网络"要好。

嗯,现在 clone github 除了要设置 git 的 proxy 外,
大项目都用 SSH 而不是 HTTPS 了,速度和稳定性更好

出0入17汤圆

发表于 2022-2-8 10:45:07 | 显示全部楼层
fbwcpu 发表于 2022-2-8 10:01
搭建环境就有很多坑?

使用vscode安装ESP32的开发环境,有的一次就成,有的折腾半死还没装上,搞的还得用离线的IDF来安装

出0入0汤圆

发表于 2022-2-8 11:08:24 | 显示全部楼层
小小菜 发表于 2022-2-8 10:45
使用vscode安装ESP32的开发环境,有的一次就成,有的折腾半死还没装上,搞的还得用离线的IDF来安装 ...

我之前折腾过程中遇到的问题多半和 python 的包版本有关系,所以安装时可能出各种问题也不奇怪了

出20入22汤圆

发表于 2022-2-8 12:21:30 | 显示全部楼层
用VScode加插件来开发,折腾了3天也没弄好,最后还是请熟手直接动手装好环境,但是烧写程序还是不行,提示OPENODC不行,

出100入312汤圆

发表于 2022-2-8 12:24:43 来自手机 | 显示全部楼层
搭环境是挺麻烦的

出0入4汤圆

 楼主| 发表于 2022-2-8 12:25:52 | 显示全部楼层
gyzzg2030 发表于 2022-2-8 12:21
用VScode加插件来开发,折腾了3天也没弄好,最后还是请熟手直接动手装好环境,但是烧写程序还是不行,提示O ...

装软件就这么麻烦

出20入25汤圆

发表于 2022-2-8 12:36:56 来自手机 | 显示全部楼层
gyzzg2030 发表于 2022-2-8 12:21
用VScode加插件来开发,折腾了3天也没弄好,最后还是请熟手直接动手装好环境,但是烧写程序还是不行,提示O ...

我让他下载了一晚上没好,后来局域网代理了,就很顺利

出0入4汤圆

 楼主| 发表于 2022-2-8 12:48:16 | 显示全部楼层
chenchaoting 发表于 2022-2-8 12:36
我让他下载了一晚上没好,后来局域网代理了,就很顺利

装这个软件的关键是能上 外网才行?

出20入25汤圆

发表于 2022-2-8 22:48:28 来自手机 | 显示全部楼层
fbwcpu 发表于 2022-2-8 12:48
装这个软件的关键是能上 外网才行?

对的。。。。。

出0入4汤圆

 楼主| 发表于 2022-2-9 09:38:24 | 显示全部楼层
顶起来。。。。

出0入8汤圆

发表于 2022-2-9 13:52:02 | 显示全部楼层
yyts 发表于 2022-2-8 09:24
PlatformIO,要用flash代码加密,怎么弄?

PlatformIO会在项目文件夹(.pio\build\esp32dev)下生成firmware.bin,复制出来用乐鑫官方工具加密烧录flash就是了

出0入4汤圆

发表于 2022-2-9 23:26:20 | 显示全部楼层
开发ESP32,你们都不用 msys32吗?  启动msys2_shell.cmd  命令行,make menuconfig,  make 就可以
安装过程网上有很多资料,  https://dl.espressif.com/dl/esp3 ... lchain-20170111.zip
具体配置开发工具的过程搜索网络,好像用的 pacman

出0入4汤圆

 楼主| 发表于 2022-2-9 23:38:18 | 显示全部楼层
sunliezhi 发表于 2022-2-9 23:26
开发ESP32,你们都不用 msys32吗?  启动msys2_shell.cmd  命令行,make menuconfig,  make 就可以
安装过 ...

太偏门的,感觉不是正道

出0入0汤圆

发表于 2022-2-14 11:53:46 | 显示全部楼层
从安装入门到放弃。3天还买搞好VSCODE+IDF环境(台式电脑),但在我笔记本半个钟安装完成,编译和下载成功。

出0入4汤圆

 楼主| 发表于 2022-2-14 11:58:21 | 显示全部楼层
mypear 发表于 2022-2-14 11:53
从安装入门到放弃。3天还买搞好VSCODE+IDF环境(台式电脑),但在我笔记本半个钟安装完成,编译和下载成功 ...

哦 不错,安装环境就是一个坎,看来你已经入门了

出0入0汤圆

发表于 2022-2-14 12:01:43 | 显示全部楼层
vscode环境超爽

出0入0汤圆

发表于 2022-2-14 12:01:43 | 显示全部楼层
fbwcpu 发表于 2022-2-14 11:58
哦 不错,安装环境就是一个坎,看来你已经入门了

台式还没搞好,工作主要在台式

出0入224汤圆

发表于 2022-2-16 16:34:47 | 显示全部楼层
wangbin526 发表于 2022-2-9 13:52
PlatformIO会在项目文件夹(.pio\build\esp32dev)下生成firmware.bin,复制出来用乐鑫官方工具加密烧录f ...
(引用自26楼)


有实际用过吗,分区表中怎么设置加密标志,还有安全启动等这些配置怎么操作?


https://docs.espressif.com/proje ... ash-encryption.html

https://docs.espressif.com/proje ... pted-partition-flag

https://docs.espressif.com/proje ... secure-boot-v2.html

出0入0汤圆

发表于 2022-2-16 17:59:30 | 显示全部楼层
我装ESP32 IDF,装了一个星期没有弄好,上网一查,都是说学ESP32止于开发环镜安装,后来如果不是网友提议用改用PIO,可能我真会放弃,回到arduino+SI的方式……   现在觉得VS code+PIO超级好用……

出0入4汤圆

 楼主| 发表于 2022-2-16 21:38:34 | 显示全部楼层
liang_work 发表于 2022-2-16 17:59
我装ESP32 IDF,装了一个星期没有弄好,上网一查,都是说学ESP32止于开发环镜安装,后来如果不是网友提议用 ...
(引用自34楼)

用VS code+PIO  做了啥好东西,说说看?  我也是纠结用啥开发环境,也怕止步于软件的安装就熄火了

出0入8汤圆

发表于 2022-2-18 12:14:39 | 显示全部楼层
本帖最后由 wangbin526 于 2022-2-18 12:17 编辑
yyts 发表于 2022-2-16 16:34
有实际用过吗,分区表中怎么设置加密标志,还有安全启动等这些配置怎么操作?


(引用自33楼)


官方给了命令行加密工具啊,Esptool里的espefuse.py
1.  [Esptool在线文档)](https://docs.espressif.com/proje ... st/esp32/index.html)
2.  [espefuse.py在线文档](https://docs.espressif.com/proje ... espefuse/index.html)

Esptool直接Python命令行安装就是了,PIO目录里也有这两个工具
C:\Users\UserName\.platformio\packages\tool-esptoolpy
如果用PIO Arduino的话这个目录还有另一份
C:\Users\UserName\.platformio\packages\framework-arduinoespressif32\tools

话说ESP32 Arduino本身就是在官方IDF基础上套的一个Arduino壳,IDF能用的Arduino都能用
批量加密烧录的话用官方ESP Flash Download Tool,附带pdf里也写了如何编辑配置文件,打开加密功能烧录的方法啊,记得看英文版的,中文版的pdf里内容少很多,工具压缩包中doc文件夹下都有
PS:用这货烧固件除程序固件外,还要引导bootloader.bin和分区配置partitions.bin文件,bootloader在PIO的tool-esptoolpy\test\images目录下,分区配置文件自己看官方文档,也有示例的

出0入224汤圆

发表于 2022-2-18 14:21:21 | 显示全部楼层
wangbin526 发表于 2022-2-18 12:14
官方给了命令行加密工具啊,Esptool里的espefuse.py
1.  [Esptool在线文档)](https://docs.espressif.co ...
(引用自36楼)


Esptool里的espefuse.py 只是设置芯片的熔丝位,这个是没问题,但是程序工程也要先用menuconfig进行配置,启用flash加密,并选择加密模式等相关配置的,编译出的bin文件里面就要有启用加密的相关信息的,用PIO或arduino怎么使用menuconfig对项目进行配置?

测试 flash 加密过程需完成以下步骤:

1.确保您的 ESP32 设备有 相关 eFuses 中所示的 flash 加密 eFuse 的默认设置。

请参考如何检查 ESP32 flash 加密状态。

2. 在 项目配置菜单(menuconfig),执行以下操作:

启动时使能 flash 加密

选择加密模式 (默认是 开发模式)

选择 UART ROM 下载模式 (默认是 启用。 对于 esp32 芯片,该选项仅在 CONFIG_ESP32_REV_MIN 级别设置为 3 时 (ESP32 V3) 可用)。

选择适当详细程度的引导加载程序日志

保存配置并退出。

3. 启用 flash 加密将增大引导加载程序,因而可能需更新分区表偏移量。请参考 引导加载程序大小。

运行以下命令来构建和烧录完整的镜像。


就是英文,这些步骤也是一样的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入8汤圆

发表于 2022-2-19 12:22:28 | 显示全部楼层
本帖最后由 wangbin526 于 2022-2-19 12:41 编辑
yyts 发表于 2022-2-18 14:21
Esptool里的espefuse.py 只是设置芯片的熔丝位,这个是没问题,但是程序工程也要先用menuconfig进行配置 ...
(引用自37楼)


呃,晚上仔细看了下,你说的对,menuconfig的设置确实更改了编译出的bin固件,偶就几块ESP32 V3 带Lora和OLED的板子,没舍得冒变砖的风险加密测试。
放狗搜了一圈,Arduino开发想调用menuconfig,目前只有两种方案(PS:偶是舍不得Arduino的一个非阻塞modbus库)

第一种方法是以IDF为基础,Arduino为组件,platformio提供了两个基础示例,但很久没更新了,不是个好选择
https://github.com/platformio/pl ... spidf-arduino-blink

第二种方法是给自己的Arduino项目编译一个自定义的SDK
menuconfig实际上是编辑Kconfig.projbuild配置的图形化工具,编译时根据配置自动生成的sdkconfig文件实时编译SDK,但Arduino使用的是一个预编译好的SDK(static library)包括bootLoader,自然无法修改
ESP32 Arduino 预编译好的SDK:https://github.com/espressif/ard ... ter/tools/sdk/esp32
PlatformIO本地预编译的SDK路径:C:\Users\UserName\.platformio\packages\framework-arduinoespressif32\tools\sdk

IDF中的Kconfig.projbuild不止1个,在.platformio/packages/framework-espidf/components目录下,bootloader、esptool_py、partition_table文件夹里均各有1个且内容不同,根据内容基本可确认所谓make menuconfig 中选择 “Security features”->”Enable flash encryption on boot”修改的是bootloader目录下Kconfig.projbuild的这个选项,内容截取如下

config SECURE_FLASH_ENC_ENABLED
        bool "Enable flash encryption on boot (READ DOCS FIRST)"
        default N
        select SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE
        help
            If this option is set, flash contents will be encrypted by the bootloader on first boot.

            Note: After first boot, the system will be permanently encrypted. Re-flashing an encrypted
            system is complicated and not always possible.

            Read https://docs.espressif.com/proje ... ash-encryption.html
            before enabling.

生成sdkconfig文件后对应的内容如下
#
# Security features
#
CONFIG_FLASH_ENCRYPTION_ENABLED=y

妹的真是折腾,同一个配置两个地方的起始跟名字都变了,SECURE_FLASH_ENC_ENABLED和CONFIG_FLASH_ENCRYPTION_ENABLED
这里有Kconfig的官方配置文档
https://docs.espressif.com/proje ... -sdkconfig-defaults

也就是说,在menuconfig中配置了FLASH加密,实际上使编译的bootLoader发生改变,在二级引导程序中添加了flash加密的内容,也就是说只要保持ESP32 Arduino预编译库的其他设定不变,打开sdkconfig中关于flash加密的选项,然后重新编译对应的bootLoader,然后加上分区表和Arduino版的程序bin文件,一起用乐鑫官方ESP Flash Download Tool打开加密选项烧录就是了。

ESP32 Arduino预编译SDK的sdkconfig文件在这里
https://github.com/espressif/ard ... sdk/esp32/sdkconfig
bootLoader可以通过idf.py重新编译,详见下文的构建 Bootloader章节
https://docs.espressif.com/proje ... -system.html#idf-py

乐鑫官方提供了1个自定义编译Arduino SDK工具esp32-arduino-lib-builder
https://github.com/espressif/esp32-arduino-lib-builder
文档在这里:https://espressif-docs.readthedo ... st/lib_builder.html
提供了Arduino下sdkconfig.esp32、sdkconfig.esp32c3、sdkconfig.esp32s2的预设版本,tools目录下还有build-bootloaders.sh可供参考,如果单纯编译加开启flash加密的bootLoader不行的话,就试试编译整个SDK吧,反正也就麻烦一次

偶等去买几块最便宜的ESP32板子,砖了也不心疼,等有时间也试试
ESP32 Arduino开加密官方没给流程,墙外也几乎没人讨论,估计是开源项目没人讨论加密,这个只是偶晚上忙活了几小时的推测,理论上应该是可行的,但后续会不会有其他麻烦也很难说,比如flash加密后用Arduino EEPROM或Preferences库存取配置文件会不会自动解密等,但看了下这两货实际用的IDF的nvs库,文档里说了NVS读取加密分区配置时是自动解密的,如果你也有兴趣折腾下去的话欢迎交流

出0入224汤圆

发表于 2022-2-19 16:03:56 | 显示全部楼层
wangbin526 发表于 2022-2-19 12:22
呃,晚上仔细看了下,你说的对,menuconfig的设置确实更改了编译出的bin固件,偶就几块ESP32 V3 带Lora和 ...
(引用自38楼)


我原来用platformio,但是总是比esp-idf慢了好几拍,像官方去年8月就更新到Arduino v2.0了,但是platformio到现在github上依然挂着这个问题,还不知道什么时候能出来,所以我直接用eps-idf了,配合vs code用下来,也很方便的。

出0入8汤圆

发表于 2022-2-19 18:58:44 | 显示全部楼层
yyts 发表于 2022-2-19 16:03
我原来用platformio,但是总是比esp-idf慢了好几拍,像官方去年8月就更新到Arduino v2.0了,但是platform ...
(引用自39楼)

确实,这次更新得特别慢,目前platformIO的Arduino版本还是1.06,不过PIO官方工作人员有说在中国新年假期后就更新至2.0了,中国新年假期估计是为了配合乐鑫工作人员吧。

Hi there,
Sorry for the delay. We work with Espressif Team on solving these issues. We will be back with updates after the Chinese New Year holidays.
cc: @pedrominatel

出0入0汤圆

发表于 2022-2-19 19:25:51 | 显示全部楼层
至少我就是这么干的。

出0入4汤圆

 楼主| 发表于 2022-2-19 20:16:13 来自手机 | 显示全部楼层
astankvai 发表于 2022-2-19 19:25
至少我就是这么干的。
(引用自41楼)

干的啥?     

出0入0汤圆

发表于 2022-2-19 20:48:09 | 显示全部楼层
是的,坑在网络,  后面还是跑命令行的舒服,刷了闪灯就没在用了

出0入0汤圆

发表于 2022-2-20 08:57:09 | 显示全部楼层
fbwcpu 发表于 2022-2-19 20:16
干的啥?
(引用自42楼)

开发ESP32啊。 楼主标题

出100入312汤圆

发表于 2022-2-20 09:50:27 来自手机 | 显示全部楼层
小白躺手吃 发表于 2022-2-19 20:48
是的,坑在网络,  后面还是跑命令行的舒服,刷了闪灯就没在用了
(引用自43楼)

网络,如何坑的?

出0入0汤圆

发表于 2022-3-5 22:17:19 | 显示全部楼层
akey3000 发表于 2022-2-20 09:50
网络,如何坑的?
(引用自45楼)

有些资源下载的时候,有可能访问不了

出0入0汤圆

发表于 2022-3-7 16:40:57 | 显示全部楼层
liang_work 发表于 2022-2-16 17:59
我装ESP32 IDF,装了一个星期没有弄好,上网一查,都是说学ESP32止于开发环镜安装,后来如果不是网友提议用 ...
(引用自34楼)

大神,你是怎么弄好的,能否具体说一下啊,我也捣鼓了 很久的开发环境,始终都没有成功

按照网上的视频教程,乐鑫的教程等,结果都没有成功,

我真的就像是传说中的 从入门到放弃的节奏啊

出0入0汤圆

发表于 2022-3-7 22:22:27 | 显示全部楼层
hpdell 发表于 2022-3-7 16:40
大神,你是怎么弄好的,能否具体说一下啊,我也捣鼓了 很久的开发环境,始终都没有成功

按照网上的视频 ...
(引用自47楼)

按楼主说的IDF,我也装不了。我是用PIO的。

出105入79汤圆

发表于 2022-3-8 02:16:03 | 显示全部楼层
简单需求arduino环境用用就行了。一键安装

出0入0汤圆

发表于 2022-3-8 15:07:55 | 显示全部楼层
liang_work 发表于 2022-3-7 22:22
按楼主说的IDF,我也装不了。我是用PIO的。
(引用自48楼)

你好,我的貌似按照 乐鑫 官网提供的方法安装,成功了

https://docs.espressif.com/proje ... /windows-setup.html


建议不要安装其他的 git, python 等,

只需要安装 ESP-IDF 这个对应的自己模块就可以了,git, pyhton 他会自动安装

出30入54汤圆

发表于 2022-3-8 16:14:04 | 显示全部楼层
这种环境的麻烦的地方就在于,容易污染全局工作环境,导致各种问题。然后环境天天更新,无法提供稳定的工作环境
周末我就搞了一下,各种问题,非常麻烦,正如楼上所说,能装好全靠人品
所以最后还是搭建了一个专用的linux虚拟机搞定,最起码环境稳定
多年前我搞过ESP32的环境,很简单,但是现在依赖的东西越来越多了,太恶心了

出0入0汤圆

发表于 2022-3-8 21:58:44 | 显示全部楼层
hpdell 发表于 2022-3-8 15:07
你好,我的貌似按照 乐鑫 官网提供的方法安装,成功了

https://docs.espressif.com/projects/esp-idf/zh ...
(引用自50楼)

不管他了,反正现也能用……。多谢。

出0入9汤圆

发表于 2022-3-29 10:22:59 | 显示全部楼层
折腾了好久也没有成功
vs code只用来做编辑器了

出0入0汤圆

发表于 2022-3-29 10:56:43 | 显示全部楼层
注意一下几个关键点,安装还是很快的
1. 用ESP32的离线安装包V4.4,安装会自动配置好所有的环境,但是ESP-IDF的环境变量没有自动设置,你必须手动设置
2. 用ESP_IDF CMD环境能够编译Helloword, 这个可以参考get start文档
3. 安装Vscode和ESP插件
4. 在Vscode环境下ctrl+shift+p, 选择show examples projects, 选择helloworld, 会提示create project using examples hello_world, 你按提示做
5. 参考ESP插件,用命令行设置对应的ESP32平台,比如ESP32,ESP32-S3等;同时设置对应的串口COMxx
6. 在下面的工具栏里选哪个火焰图标,ESP-IDF build, flash and monitor,就可以在终端里面看到运行输出
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-16 06:11

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表