目录
- 前言
- 准备工作
- 搭建仿真环境和工具链
- 导入例程
- 配置项目
- 添加编译指令
- 编译测试
- 下载程序
前言
前段时间自己做了个微信小程序,几乎把微信开放出来的通信能力全部集成在它的身上,包括蓝牙(BLE)、手机网络(MQTT和UDP),支持自定义界面,幸运的是微信小程序天生的跨平台特性,使得无论是安卓用户还是苹果用户都可以使用它。至此,算是完成了自己多年来的一个小小的心愿 —— 让每个人都拥有属于自己的远程控制APP。当我注意到ESP32同时支持WiFi和蓝牙时,我意识到,没有比它更合适物联网设备的开发了(懂王狗头),从本篇开始,开启我的ESP32开发之旅。
准备工作
- 工具链和仿真环境资源包;
- eclipse c/c++版本;
- java安装包;
以上资源我已经放在了“我的硬件-技术交流群”文件中(QQ群:635404055)
搭建仿真环境和工具链
- 解压esp32_win32_msys2_environment_and_toolchain-20170111.zip到 F 盘目录(随意哪个盘都可以),将会出现一个 msys32 的文件夹;
- 解压esp32-dir.zip到上个步骤产生的msys32文件夹下;
- 打开F:\msys32\etc\profile.d\esp32_toolchain.sh,添加
export IDF_PATH=“F:\msys32\esp32-dir\esp-idf”
保存并退出。
- 安装 jre,完成后解压 eclipse 到 任意盘,并运行 eclipse。
导入例程
- 打开eclipse,鼠标右击“资源管理器”,选择“导入”,找到C/C++项里面的“Existing Code as Makefile Project”,然后点击下一步。
- 按下图步骤进行,hello_world例程的路径在 F:\msys32\esp32-dir\esp-idf\examples\get-started\hello_world
完成上述步骤后,就已经完成了代码的导入操作,但此时你的编辑器会有很多错误或警告,接下来我们给该项目加上源文件路径即可。
配置项目
- 选中左边的项目资源管理器里面的项目名称,并右击进入“属性”界面
2. 选择C/C++ Build下的Environment选项,配置环境变量。
//IDF_PATH
F:\msys32\esp32-dir\esp-idf
//PATH
F:\msys32\usr\bin;F:\msys32\opt\xtensa-esp32-elf\bin;F:\msys32\mingw32\bin;
- 设置Paths and Symbols项,将下表路径添加到CNU C项里面
${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
一般来说,选择路径如果显示如下图所示即表示路径正确,否则需要再仔细检查一下是否哪里有问题。
完成上述步骤后,点击“应用并关闭”。
添加编译指令
选中项目,右击鼠标选择Build Targets -> Create …
- 添加 make all 指令,主要用于编译代码。
- 添加 make flash 指令,主要用于烧录代码到目标板子上。
编译测试
双击项目下的 Build Targets -> make all
如上图所示,编译成功。
下载程序
- 配置烧录串口,打开msys2_shell.cmd,进入到hello_world项目下,输入
make menuconfig
将上图的/COM6 修改为正确的串口,然后保存。
- 双击项目下的 Build Targets -> make flash 烧录代码,等待一会就烧录完成了。