ESP32从零开始系列,
适合没有基础的各位工程师,
愿作为钥匙替各位打开ESP32开发的大门。
本篇博文搭建的是在debian系统下的开发环境,因此首先需要安装debian虚拟机。
VMware官方下载地址:
https://www.vmware.com/go/downloadworkstation-cn
自行下载安装呗。 ╮( ̄▽  ̄)╭
debian系统映像官方下载地址:
https://www.debian.org/CD/http-ftp/#stable
自行下载呗。 ╮( ̄▽  ̄)╭
运行VMware程序,点击创建虚拟机。
选择下载好的debian系统映像,点击下一步。
选择Linux系统,如图选择版本,点击下一步。
随便取一个名字,随便选一个文件夹放,点击下一步。
根据电脑硬件配置,随便修改一下虚拟机硬件,也可以不改,点击完成。
点击运行虚拟机,进入安装界面。
按回车开始安装,在选择时区时选择中国(Other -> Asia -> China),其他一直Continue即可,直到开始读进度条。
等待读条完毕,随便设置一下主机名,用户名……,继续点击Continue,直到继续读条。
又待读条完毕后,开始配置硬盘分区。
也是继续点击Continue,直到读条。
读条完后,提示是否插入其他CD,选择否,点击Continue,提示是否连接网络镜像,选择否,点击Continue,等待安装。
安装过程中还会弹出选择,点击Continue。
这里选择安装常见的GNOME桌面,点击Continue,继续等待安装完成。
设置boot loader,此步骤非常重要,否则虽然安装成功但无法启动。
至此debian虚拟机安装完成。
sudo的各种详细说明百度上非常非常多,这里只讲如何做。
执行命令,并输入root用户密码,切换到root用户:
su root
再执行命令打开sudo配置文件:
gedit /etc/sudoers
用户名 ALL=(ALL:ALL) ALL
执行命令退出root用户,并执行sudo测试是否配置成功。执行sudo后输入当前用户密码,非root密码。
exit
sudo ls
替换debian源,换成国内的源,提高使用apt-get安装包时下载包的速度。
执行命令切换到root用户,并打开源配置文件。
su root
gedit /etc/apt/sources.list
这里我们采用网易的镜像,将文件内容替换掉。
deb http://mirrors.163.com/debian/ buster main non-free contrib
deb http://mirrors.163.com/debian/ buster-updates main non-free contrib
deb http://mirrors.163.com/debian/ buster-backports main non-free contrib
deb-src http://mirrors.163.com/debian/ buster main non-free contrib
deb-src http://mirrors.163.com/debian/ buster-updates main non-free contrib
deb-src http://mirrors.163.com/debian/ buster-backports main non-free contrib
deb http://mirrors.163.com/debian-security/ buster/updates main non-free contrib
deb-src http://mirrors.163.com/debian-security/ buster/updates main non-free contrib
exit
sudo apt-get update
点击VMware软件下栏中的安装Tools,根据提示安装VMware Tools。
执行命令,复制并解压VMwareTools软件包。VMware版本跟我使用时可能不一样,所以命令中软件包名可能不一样,请根据实际情况调整命令。
mkdir VMwareTools
cp /media/cdrom/VMwareTools-10.3.10-12406962.tar.gz ./VMwareTools
cd VMwareTools/
tar -zxvf VMwareTools-10.3.10-12406962.tar.gz
执行命令,安装VMwareTools,安装是提示是否安装,填入yes,后续提示全部直接按回车即可。
cd vmware-tools-distrib/
sudo ./vmware-install.pl
ESP-IDF,即Espressif IoT Development Framework,即乐鑫IoT开发框架。
在根据官方文档进行环境搭建时,主要会遇到一个问题,git clone的速度太慢导致clone失败,一直无法clone下来,或者clone下来的不完整,因此首先先设置git的代理,提高clone速度。
执行命令,安装git。
sudo apt-get install git
可以看到,替换国内源之后,下载包的速度是非常快的。
在小飞机的选项设置里,选中[允许来自局域网的连接],并记住端口。
配置虚拟机的网络适配器为桥接模式。
通过ipconfig命令查看本机ip。
回到虚拟机中,执行命令,配置git代理。
以本篇中的情况为例,ip为192.168.3.9,小飞机端口为1088,则命令如下。
git config --global http.proxy socks5://192.168.3.9:1088
git config --global https.proxy socks5://192.168.3.9:1088
请实际操作时根据实际情况进行调整。
配置代理后,可以看到,clone的速度是非常快的。
不上代理十几几十k的速度实在是受不了,上了代理整个人都舒服了。
ESP-IDF的开发环境搭建实际上官网有非常详细的文档说明,请严格按照官方文档进行开发环境搭建。
开发环境搭建好后,请严格按照官方文档进行编译和烧录的测试。
本篇不再进行任何说明。
官方文档链接:
https://docs.espressif.com/projects/esp-idf/zh_CN/stable/get-started/index.html
其实官方文档也有使用Eclipse编译和烧录的说明。
官网点进去的指南是最新版(laster),最新版的文档关于Eclipse使用方面的配置说明是说文档即将发布。
切换到稳定版(stable)的文档就有了。
官方文档链接:
https://docs.espressif.com/projects/esp-idf/zh_CN/stable/get-started/eclipse-setup.html
大概官方正在做Eclipse支持的相关工作,或许以后版本只需要安装一个Eclipse的插件就可以支持ESP-IDF的编译烧录和调试了。
执行命令安装即可。
sudo apt-get install default-jre
执行命令确认安装成功。
java --version
直接下载CDT,链接:
https://www.eclipse.org/downloads/packages/
执行命令,解压CDT。
mkdir ~/eclipse
cd ~/eclipse
cp ~/Downloads/eclipse-cpp-2019-06-R-linux-gtk-x86_64.tar.gz ./
tar -zxvf eclipse-cpp-2019-06-R-linux-gtk-x86_64.tar.gz
回到终端,执行命令,复制 hello_world 项目到eclipse工作文件夹。
cp -rf ~/esp/esp-idf/examples/get-started/hello_world/ ~/eclipse/workspace/
选择刚复制的 hello_world 项目文件夹,取消C++支持,选择GCC交叉编译器。
选中项目,点击"Project",选择"Properties"。
选择"C/C++ Build"子项"Environment",点击"Add…"按钮添加环境变量。
选择 “C/C++ General” 子项 “Preprocessor Include Paths”,点击"Providers"选项卡。
选择 “CDT Cross GCC Built-in Compiler Settings”,修改 “Command to get compiler specs”。
xtensa-esp32-elf-gcc ${FLAGS} -std=c++11 -E -P -v -dD "${INPUTS}"
选择 “CDT GCC Build Output Parser”,修改 “Compiler command pattern” 。
xtensa-esp32-elf-(gcc|g\+\+|c\+\+|cc|cpp|clang)
选择 “C/C++ General” 子项 “Indexer”,去除 “Allow heuristic resolution of includes” 勾选。
最后点击 “Apply and Close” 按钮,完成配置。
未配置过的项目首先需要通过执行命令配置一次。
cd ~/eclipse/workspace/hello_world/
make menuconfig
确认串口无误后退出配置,返回Eclipse。
右击 “hello_world” 项目,点击 “Build Project”,开始编译。
右键点击 “hello_world” 项目,选择 “Build Targets” 子项 “Create…” 。
通过快捷键 “Shift + F9” 调出构建页面,选中 “flash”,点击 “Build” 按钮,开始烧录。
至此,ESP-IDF开发环境搭建完成,今后就可以愉快的进行esp32的开发了。
后续会将我的虚拟机打包上传,不想自己搭建开发环境的同僚可以直接下载使用。