ESP32的Linux开发环境搭建,将示例程序编译、下载、运行

 第一部分:

1. 官网教程地址

https://docs.espressif.com/projects/esp-idf/zh_CN/v4.0.1/get-started/linux-setup.html

 

2.官网教程提到针对ubuntu,需要输入下列指令
sudo apt-get install git wget libncurses-dev flex bison gperf python python-pip python-setuptools cmake ninja-build ccache libffi-dev libssl-dev

实测报错,类似下图的这种报错,百度了很多博客,我无法解决涉及到的软件包的依赖关系。

 

3. 我的针对上述问题的解决办法,最笨的办法:重新使用iso镜像来制作一个全新的虚拟机,

因为全新,所以还未安装任何个人软件,在此基础上搭建ESP32的开发环境,应该是不会面临需要解决软件包依赖关系的窘境。

以后要保留着这份制作好的最原始的ubuntu系统了,以备不时之需,而不是钱到用时放恨少。

PS:后记,建议您下载ubuntu18.04 , 而不是我这里展示的ubuntu16.04

 

4.新的ubuntu装好后,还不能马上直接敲入上述指令(即步骤2的指令),因为此时的下载源是美国的,实测,是真的很慢很慢,有可能会下载一天。

所以我们还需要更换ubuntu的下载源。

 

5.更换ubuntu的下载源为国内源

1.备份原始源文件source.list
sudo  cp   /etc/apt/sources.list   /etc/apt/sources.list.bak

2.
sudo  chmod  777  /etc/apt/sources.list

3.
sudo  gedit   /etc/apt/sources.list

4.删除原来的文件内容, 然后复制下面 阿里源 的内容到上面打开的文件内并保存

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse

5. 更新源
sudo apt update

办完这些事以后,就可以愉快高效地执行上述步骤2的指令了。

执行效果如下所示:

 

6.接着设置Ubuntu 默认使用 Python 3, 按照上述官方教程操作即可。

现在基本的环境就准备好了,下一步就是获取ESP32的SDK开发包了, 即按照官方教程,去获取一个叫做ESP-IDF(中文意思就是ESP的IOT开发套件)的开发包。

 

 

第二部分:

这部分是后面追加的,按照上述第一部分搭建好环境后,去安装IDF,由于git clone 获取IDF包很慢,又没办法FQ,好不容易下载好了,安装起来又是各种报错,实在解决不掉。

百度的各类博客也有说,这是需要安装个十次八次的。 我暂时也没撤了,业余精力也有限。

那就暴击之!直接使用安信可公司提供的ubuntu,里面内置了一版IDF,且把开发环境都配置好了。

附上百度网盘地址:

链接:https://pan.baidu.com/s/16q6CAVMupFhJmqxvGT2h-w
提取码:x1hq

 

使用VMWare打开这个ubuntu,PS:这个ubuntu不可以直接windows鼠标拖拽文件,你也先不要着急去解决这个问题,先去编译第一个点灯工程,然后下载到你的板子去运行吧!

(为什么不要着急去解决ubuntu和windows鼠标拖拽文件的问题,因为这个属于次要问题,

有可能你在解决的过程中,会把安信可公司配置好的开发环境给破坏了!到时候点灯都跑不起来,

所以还是先跑个点灯,心里有了底,再去折腾其他的次要问题吧)

 

次要问题有很多的,也是很重要的问题。

例如这个ubuntu是内置了IDF,但是我们在网上浏览ESP32的相关示例工程,他们往往是基于不同版本或者更新版本的IDF,那么怎么替换IDF呢,这个也是要研究的。

 

后面无可避免地,还是要学会在ubuntu内安装ESP32开发环境。

 

说说怎么编译下载“hello word”程序

 

进入到hello_word文件夹内:

 

按下图方式打开命令行终端:

 

执行make

这里可以看到,提示你去 run “make flash”

 

接着把板子的IO0引脚接地,然后接上串口,经过USB转TTL模块, 连接到电脑的USB接口内。

再按下图操作将其连接至ubuntu内

 

在执行下图命令,你将看到显示 /dev/ttyUSB0  这是USB的设备节点,

有了这个,在ubuntu上就可以和ESP32模块通过USB转TTL模块进行通信了(包括显示ESP32打印出的串口数据、烧录程序到ESP32)

 

现在我们可以指向make flash来烧录程序了,如下图所示

上图划线处会一直等待,需要你按一下板子上的复位键。

 上图这样就是烧录好了,先把板子上的IO0接地去除,(程序运行时IO0不可接地), 按一下复位键程序就跑起来了,

 

此时我们再打开串口调试助手也不迟, 执行make monitor

可以看到,成功打印出了  你好世界!

 

江湖很大,你我相遇在此有一定缘分,可以考虑加个QQ群聊聊人生,技术离不开生活,生活离不开聊聊。

.

/************* 社会的有色眼光是:博士生、研究生、本科生、车间工人; 重点大学高材生、普通院校、二流院校、野鸡大学; 年薪百万、五十万、五万; 这些都只是帽子,可以失败千百次,但我和社会都觉得,人只要成功一次,就能换一顶帽子,只是社会看不见你之前的失败的帽子。 当然,换帽子决不是最终目的,走好自己的路就行。 杭州.大话西游 *******/
原文地址:https://www.cnblogs.com/happybirthdaytoyou/p/13996072.html