【ESP32视频分享1】淘宝最牛 esp32开发板使用分享 开箱教程(helloworld)
【ESP32视频分享2】Window 平台使用 Eclipse开发ESP32程序
【ESP32视频分享3】Ubuntu使用 Eclipse开发ESP32程序
【ESP32视频分享4】使用whyengineer开源的webserver演示程序
【ESP32视频分享5】esp32驱动lan8720,使用官方example/ethernet ,可以dhcpc获取ip,可以ping
【ESP32视频分享6】esp32驱动PCM5102A声卡播放音乐
【ESP32视频分享8】esp-idfexamplesstorage 演示
【ESP32视频分享9】一步一步实现一个web服务器(webserver)
【ESP32视频分享10】一步一步实现一个esp32蓝牙喇叭
1. 首先搭建 Windows 开发环境 《淘宝最牛 esp32开发板使用分享 开箱教程(helloworld) 》【原创视频】
2. 找到eclipse官网,打开 http://www.eclipse.org/downloads/eclipse-packages/, 找到 C/C++处,点进去就可以下载C/C++版本的eclipse了
根据你的系统 win32/win64 下载对应的版本, 我的电脑是win64的, 所以选下面的这个链接
官网下载:eclipse-cpp-oxygen-R-win32-x86_64.zip
本站下载:eclipse-cpp-oxygen-R-win32-x86_64.zip
下载解压缩, 运行eclipse.exe, 发现缺JRE.
3. 下载JRE, JAVA运行环境:
http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
根据你的win32/64选择合适的下载链接.
4. 打开elipse, 点击 File -> Import -> C/C++ -> Existing Code as Makefile Project,
找到 esp-idf 目录下面的 \examples\get-started\hello_world, 导入这个 hello_word项目,
右击项目, 在弹出的右击菜单里面选中最后一项Property.
在弹出的对话框中选择 C/C++ Build -> Environment 添加一项:
IDF_PATH ==> F:\esp-idf\
修改PATH环境变量,添加: D:\msys32\usr\bin\;D:\msys32\opt\xtensa-esp32-elf\bin;D:\msys32\mingw32\bin;
C/C++ General -> Path & Symbols -> Includes -> GUN C 添加Directory:
${IDF_PATH}/components/esp32/include
${IDF_PATH}/components/newlib/include
${IDF_PATH}/components/freertos/include
${IDF_PATH}/components/nvs_flash/include
${IDF_PATH}/components/driver/include
${IDF_PATH}/components/log/include
${IDF_PATH}/components/spi_flash/include
参考链接: eclipse-setup.rst
第一段视频分享:
第二段视频分享:
Bilibili视频分享:
https://www.bilibili.com/video/av16274640/
https://www.bilibili.com/video/av16274667/
离线
这个分享不错,特注册一个帐号来支持晕哥
离线
楼主讲的很详细,
不过我还有一个问题,
eclipse如何启用并行编译, 就是相当于 make 命令的 -jN 这个 N的功能?
最近编辑记录 yyt (2017-09-19 09:46:04)
离线
楼主讲的很详细,
不过我还有一个问题,
eclipse如何启用并行编译, 就是相当于 make 命令的 -jN 这个 N的功能?
这个链接有详细过程,我一步一步试过是没有问题的。
CDT Managed Build Project
Select your project in Eclipse's Project Explorer view and select Properties from the Project menu.
In the Properties dialog, select C/C++ Build, and then select the Behaviour tab.
Select [All configurations] in the Configuration drop-down menu.
Check the Use parallel build option, and either enter the number of parallel jobs to use or select Use optimal jobs number. This later setting causes Eclipse to dynamically choose the number of parallel jobs based on the number of CPUs in your computer.
Click OK to save the changes.
离线
C/C++ General -> Path & Symbols -> Includes -> GUN C 添加Directory:
${IDF_PATH}/components/esp32/include
${IDF_PATH}/components/newlib/include
${IDF_PATH}/components/freertos/include
${IDF_PATH}/components/nvs_flash/include
${IDF_PATH}/components/driver/include
${IDF_PATH}/components/log/include
${IDF_PATH}/components/spi_flash/include
配置好头文件 之后,发现头文件 是没报错了, 但是 代码中 的一些宏 却还有 问题
例如 : Symbol 'TOUCH_PAD_NUM9' could not be resolved
Symbol 'CONFIG_LOG_DEFAULT_LEVEL' could not be resolved
然后 在project >C/C++ index > Freshen All files 还是 没有解决 这个问题。
还专门查了一下 'TOUCH_PAD_NUM9' 在Touch_pad.h 下面, 于是 特意 加了#include "Touch_pad.h" 和对应的PATH。
但是 依然报错~~~~
离线
配置好 eclipse build 的时候 出错!
奇怪的是 怎么会跑去 找 F:\SysGCC\esp32\bin\python.exe:
15:46:48 **** Incremental Build of configuration Default for project pipeline_bt_sink ****
bash "F:\\Embedded\\esp-adf\\esp-idf/tools/windows/eclipse_make.sh" all
eclipse_make.sh has been replaced with eclipse_make.py. Check the Windows Eclipse docs for the new command.
This shell script will continue to work until the next major release.
1 [main] python (5316) F:\SysGCC\esp32\bin\python.exe: *** fatal error - cygheap base mismatch detected - 0x612A2410/0x612E8408.
This problem is probably due to using incompatible versions of the cygwin DLL.
Search for cygwin1.dll using the Windows Start->Find/Search facility
and delete all but the most recent version. The most recent version *should*
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution. Rebooting is also suggested if you
are unable to find another cygwin DLL.
F:\Embedded\esp-adf\esp-idf/tools/windows/eclipse_make.sh: line 4: 5756 Segmentation fault python ${IDF_PATH}/tools/windows/eclipse_make.py $@
15:46:51 Build Finished. 0 errors, 0 warnings. (took 2s.655ms)
离线
下载会用到 Python,编译不会,
先用命令行试一试make是否正常吧。
试一试make 意思 是建立一个target 为 all 的, 然后进行build target 吗? 如图 也是显示一样的log ,找不到python。。。。
另外如果是在 toolchain 里面 进行make 倒是正常的~~~
我查看了get-started guide 里面关于eclipse 的配置,其中C/C++build 配置目前有两个 版本
版本一:
•Click on the “C/C++ Build” properties page (top-level):
.Uncheck “Use default build command” and enter this for the custom build command:
python ${IDF_PATH}/tools/windows/eclipse_make.py.
版本二:
•Click on the “C/C++ Build” properties page (top-level):
.Uncheck “Use default build command” and enter this for the custom build command:
bash ${IDF_PATH}/tools/windows/eclipse_make.sh.
两个版本最终都是 调用python 执行eclipse_make.py~~~~ 那其实 最终还是没有python 的问题吧~~~~
但奇怪 为什么toolchain 中make flash的时候 没见到用python~~~~
离线
离线
◦Edit the PATH environment variable. Delete the existing value and replace it with C:\msys32\usr\bin;C:\msys32\mingw32\bin;C:\msys32\opt\xtensa-esp32-elf\bin (If you installed msys32 to a different directory then you’ll need to change these paths to match).
刚刚那个找不到python的问题, 应该是 在设置PATH 的时候,没有将原本里面存在的内容delete,
delete之后就没有报找不到python的错误
其实 你的建议 应该就是解决这个问题(没有删除PATH 原有内容直接添加toolchain的路径 到PATH)吧!
但是又有新的问题。
现在编译 又出现了 没有all 的rule~~~~ 试了clean 和 flash 都是同样 显示没有 这些rule。。。
09:19:22 **** Incremental Build of configuration Default for project pipeline_bt_sink ****
python F:/Embedded/esp-adf/esp-idf/tools/windows/eclipse_make.py all
make: *** No rule to make target 'all'. Stop.
Running make in 'E:/installpacket/eclipse-cpp-photon-M6-win32/eclipse'
09:19:23 Build Failed. 1 errors, 0 warnings. (took 1s.34ms)
那新的问题又出现了, 就是 为啥 running make 是在ECLIPSE_HOME 变量路径下呢???
PS:对了,那个插图的操作其实还好,就是目前这种做法 有一点 要找到对应图片的 路径 有点麻烦,点了一下图片 得到路径,却又回不去上传窗口,要关掉再点击“上传文件” 重新打开窗口
离线
离线
那新的问题又出现了, 就是 为啥 running make 是在ECLIPSE_HOME 变量路径下呢???
这个没看懂
https://whycan.cn/files/members/3/QQ20180503095142.png
我的是这样, ECLIPSE_HOME 是指 eclipse.exe 所在的目录。
我的这个路径 就是 eclipse.exe 的所在目录! 只是make 不是应该在工程文件下面进行吗?怎么跑到IDE 的路径下去呢?
离线
eclipse 和 make/Makefile 完全脱离关系,
他只会去调用存在 PATH 路径的 make.exe 去生成 文件,
与你在命令行下面的执行是一样的。
改到目前,还是build 不到!
13:51:51 **** Clean-only build of configuration Default for project pipeline_bt_sink ****
python F:/Embedded/esp-adf/esp-idf/tools/windows/eclipse_make.py clean
make: *** No rule to make target 'clean'. Stop.
Running make in 'E:/installpacket/eclipse-cpp-photon-M6-win32/eclipse'
13:51:51 Build Failed. 1 errors, 0 warnings. (took 407ms)
几乎都是一步步按足 要求来设置~~~
离线
方便把完整的命令贴出来吗?
上面是在 msys操作?
不是,这个是使用eclipse 右键工程 选择build project (另外 msys32 下的操作 都是正常的)
现在重新捋一捋~~~
Import New Project
...
•On the next page, enter “Existing Code Location” to be the directory of your IDF project. Don’t specify the path to the ESP-IDF directory itself (that comes later). The directory you specify should contain a file named “Makefile” (the project Makefile).
...
这里说的 Don’t specify the path to the ESP-IDF directory itself 具体是什么意思?别选择esp-idf example 的路径吗? 但后面又怎么写着 The directory you specify should contain a file named “Makefile” (the project Makefile). 有makefile的 不就esp-idf 具体example 文件路径下吗?
在这里 specify 路径 是自己新建一个工程目录?还是选择 esp-idf 源代码包下面的 example 路径?
离线
...
4. 打开elipse, 点击 File -> Import -> C/C++ -> Existing Code as Makefile Project,
找到 esp-idf 目录下面的 \examples\get-started\hello_world, 导入这个 hello_word项目,
右击项目, 在弹出的右击菜单里面选中最后一项Property.
在弹出的对话框中选择 C/C++ Build -> Environment 添加一项:
IDF_PATH ==> F:\\esp-idf\\修改PATH环境变量,添加: D:\\msys32\mingw32\\bin\\;D:\msys32\usr\bin\;D:\\msys32\\opt\\xtensa-esp32-elf\\bin\\xtensa-esp32-elf-gcc.exe
...
按上面试一试
根据实际情况修改上面的路径。
离线
我尝试了一下, 主要是对比 import 工程时 exiting code location 选择了 自己新建的目录 还是选择 esp-idf 源代码 下 具体某个example的目录
选择了自己新建的目录 =====》 你会发现 工程配置好之后 没有 .c 源文件 也没有make 文件~~~~
选择esp-idf 源代码 下 具体某个example的目录 =====》 工程配置好之后,有对应的 .c源文件 有对应make 文件, 但是这种做法 非常不好, 这样不是污染了源代码? 不过 那个.c 文件 说实在 也是应用层的 东西,污染也就污染了~~~
现在按照要求一步步下来, 依然 存在两个问题:
1. build 的时候 显示 一切的 target 都不存在 rule 无论 是clean flash all, 但是在msys32 窗口下 一切又是正常的
2. 所有相关的头文件 以及路径都 设置好之后, ESP_LOGI 这个宏 依然 显示 Symbol 'CONFIG_LOG_DEFAULT_LEVEL' could not be resolved , 即便我重新 建立索引 也不行~~~
离线
...
4. 打开elipse, 点击 File -> Import -> C/C++ -> Existing Code as Makefile Project,
找到 esp-idf 目录下面的 \examples\get-started\hello_world, 导入这个 hello_word项目,
右击项目, 在弹出的右击菜单里面选中最后一项Property.
在弹出的对话框中选择 C/C++ Build -> Environment 添加一项:
IDF_PATH ==> F:\\esp-idf\\修改PATH环境变量,添加: D:\\msys32\mingw32\\bin\\;D:\msys32\usr\bin\;D:\\msys32\\opt\\xtensa-esp32-elf\\bin\\xtensa-esp32-elf-gcc.exe
...https://whycan.cn/files/members/3/QQ20180503143902.png
按上面试一试
根据实际情况修改上面的路径。
第一 : 为什么你的路径 有些是双 \\ 杆?? 有些又不用???
第二 : PATH 中xtensa-esp32-elf 路径 要精确到 xtensa-esp32-elf-gcc.exe 吗?
第三 : 我设置的PATH是 F:\msys32\usr\bin;F:\msys32\mingw32\bin;F:\msys32\opt\xtensa-esp32-elf\bin
IDF_PATH : F:/Embedded/esp-adf/esp-idf
ADF_PATH: F:/Embedded/esp-adf
还有一个 BATCH_BUILD : 1
另外 Tool chain editor 选择的是: Cygwin C
但是build 的时候 还是显示
14:43:15 **** Build of configuration Default for project pipeline_bt_sink ****
make flash
make: *** No rule to make target 'flash'. Stop.
14:43:16 Build Failed. 1 errors, 0 warnings. (took 755ms)
最近编辑记录 mkseven32 (2018-05-03 14:48:38)
离线
我尝试了一下, 主要是对比 import 工程时 exiting code location 选择了 自己新建的目录 还是选择 esp-idf 源代码 下 具体某个example的目录
选择了自己新建的目录 =====》 你会发现 工程配置好之后 没有 .c 源文件 也没有make 文件~~~~
选择esp-idf 源代码 下 具体某个example的目录 =====》 工程配置好之后,有对应的 .c源文件 有对应make 文件, 但是这种做法 非常不好, 这样不是污染了源代码? 不过 那个.c 文件 说实在 也是应用层的 东西,污染也就污染了~~~
https://whycan.cn/files/members/853/ee.png现在按照要求一步步下来, 依然 存在两个问题:
1. build 的时候 显示 一切的 target 都不存在 rule 无论 是clean flash all, 但是在msys32 窗口下 一切又是正常的
2. 所有相关的头文件 以及路径都 设置好之后, ESP_LOGI 这个宏 依然 显示 Symbol 'CONFIG_LOG_DEFAULT_LEVEL' could not be resolved , 即便我重新 建立索引 也不行~~~
1) eclipse的工程其实是解析Makefile文件生成的,你的Makefile文件不存在,当然工程里面没有文件.
2) 不会污染,eclipse实际上还是调用 make/Makefile
3) Symbol 'CONFIG_LOG_DEFAULT_LEVEL' could not be resolved 这个问题还不清楚什么原因。
离线
离线
我尝试了一下, 主要是对比 import 工程时 exiting code location 选择了 自己新建的目录 还是选择 esp-idf 源代码 下 具体某个example的目录
选择了自己新建的目录 =====》 你会发现 工程配置好之后 没有 .c 源文件 也没有make 文件~~~~
...
1) eclipse的工程其实是解析Makefile文件生成的,你的Makefile文件不存在,当然工程里面没有文件.
====> 没有 你看看 实际有两个工程, 我只是对比一下 在import 工程时 选择的路径不同时的区别,
如果选择 esp-idf源码 目录下 example 时 是有make 文件 和 .c 源码的
2) 不会污染,eclipse实际上还是调用 make/Makefile
====> 我说的污染 是指,esp-idf 源代码包 下载下来之后,按这样新建工程的逻辑, 后面编程时 就是直接修改 源代码包,稍微有点污染的 意味
3) Symbol 'CONFIG_LOG_DEFAULT_LEVEL' could not be resolved 这个问题还不清楚什么原因。
=====> 您建好的工程 没有这个问题?
离线
你要把 build/include/ 添加到 【Paths & Symbols】
应该可以解决
CONFIG_LOG_DEFAULT_LEVEL
这个问题.
因为 ./build/include/sdkconfig.h :
#define CONFIG_LOG_DEFAULT_LEVEL 3
这个build/include/ 是指在【Paths & Symbols】下的GNU C ===》 include 添加 本工程目录 吗? (即 ${ADF_PATH}/examples/player/pipeline_bt_sink/build/include/ )
还是 直接添加 build/include/ ????
不过两种 我都试了 , 都不可以!!! 如图所示
离线
离线
晕哥我想问一哈,windows搭建eclipse环境,build target里make flash能把工程烧入到开发板里面,但是这个工程在eclipse编译会出现这个问题是咋回事咩?就点一下build all或者clean都会这样。。这样不就不能debug代码了嘛。。要咋配置。。。新人刚入坑求指点
16:27:29 **** Incremental Build of configuration Default for project esp ****
bash "C:\\msys32\\home\\Administrator\\esp\\esp-idf/tools/windows/eclipse_make.sh" all
eclipse_make.sh has been replaced with eclipse_make.py. Check the Windows Eclipse docs for the new command.
This shell script will continue to work until the next major release.
make: *** No rule to make target 'all'. Stop.
Running make in 'C:/msys32/home/Administrator/esp'
16:27:29 Build Failed. 1 errors, 0 warnings. (took 358ms)
离线
我重新弄了下eclipse的环境。。可以build了。。但是现在还有一个问题就是怎么样debug。。我点debug之后都会弹出launch failed.binary not found这个框
离线
离线
jlink这种或者是单纯代码中的debug。
离线