大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
文章更新版本 | 时间 | 备注 | 修订人 |
---|---|---|---|
V0.1 | 2020.08.06 | 初始版本 | bob |
开源仓库地址
ESP-Drone 原名 ESP-Plane
- 代码仓库:esp-drone
- 中文文档:getting started
- 展示视频:安装与试飞
编译成 ESP32-S2 固件
1. ESP32-S2 环境搭建
全新安装 ESP-IDF
环境
目前(2020.08.06)乐鑫在 master
分支对 ESP32-S2
提供最新支持,因此必须使用
master
版本的 ESP-IDF
。
请严格按照开发环境搭建-ESP32S2-Latest,按步骤完成环境搭建工作:
已搭建其它 IDF 环境,如何进行切换?
-
cd
进入 IDF 根目录 -
使用
git log
查看当前版本信息 -
使用
git fetch
拉取分支信息 -
使用
git checkout master
切换到master
-
执行
install.sh
安装master
版本的工具链 -
执行
git submodule update --init --recursive
更新子仓库
如果 Windows 中无法正常切换到
master
,可以查看解决方案。
注意 Windows 中使用
.bat
代替.sh
,例如第5
变为执行install.bat
安装master
版本的工具链。
2. 设置编译目标
使用 idf.py set-target esp32s2
将编译目标切换为 esp32s2
(默认为 esp32
),如果中途切换编译目标,请将 build 目录和 sdkconfig sdkconfig.old
删除,重新 set-target
ESP32-S2 编译错误与解决方案
1. 编译目标错误 This chip is ESP32-S2 not ESP32
如果忘记通过 idf.py set-target esp32s2
将编译目标切换为esp32s2
,会默认编译为esp32
版本的固件,下载时会出现以下错误,请将 build目录和 sdkconfig sdkconfig.old
删除,重新 set-target
。
2. 未设置链接脚本 undefined reference to _param_stop
如果环境搭建之后未设置链接脚本,请参考ESP32/ESP32-S2链接脚本修改进行设置。
3. 编译优化报错 outside array bounds of TCB_t * volatile[1]
由于 ESP32-S2
为单核芯片,综合性能目前不如 ESP32
,因此在项目配置sdkconfig.defaults
中默认开启了编译性能优化,该优化项打开后,会导致报错outside array bounds of TCB_t * volatile[1]
需要注意在 components/freertos/tasks.c
中函数taskYIELD_OTHER_CORE
第一行添加xCoreID = 0;
编译成 ESP32 固件
1. ESP32 环境搭建
全新安装 ESP-IDF
环境:请严格按照开发环境搭建-ESP32,按步骤完成环境搭建工作,ESP32 对 IDF 版本没有要求,可使用 master
也可使用4.0 及以上的 release
分支或4.0.1
版本。
2. 设置编译目标
使用 idf.py set-target esp32
将编译目标切换为 esp32
(默认为 esp32
)
如果中途切换编译目标,请将 build 目录和
sdkconfig sdkconfig.old
删除,重新
set-target
ESP32 编译错误与解决方案
1. 未设置链接脚本 undefined reference to _param_stop
如果环境搭建之后未设置链接脚本,请参考ESP32/ESP32-S2链接脚本修改进行设置。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/170575.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...