【ESP8266 快速入门】0.环境:详细步骤-SDK开发环境搭建(Linux)

以安信可的ESP12S开发板为例,使用乐鑫官方的SDK搭建linux下的开发环境

1.硬件准备

  • 开发板一块
    在这里插入图片描述

  • micro usb线一条

2.设置工具链

安装好ubuntu等linux系统。

2.1下载工具链

可从乐鑫网站下载:
对于 64 位 Linux:64位工具链
对于 32 位 Linux:32位工具链
解压后放在 ~/esp目录下
参考指令如下:

tar -xzf xtensa-lx106-elf-linux64-1.22.0-100-ge567ec7-5.2.0.tar.gz

工具链将被提取到~/esp/xtensa-lx106-elf/

2.2添加环境变量

添加工具链的路径~/esp/xtensa-lx106-elf/bin到PATH
可以修改~/.profile文件来实现。
操作参考指令:

sudo vi ~/.profile

在文件末尾输入一下指令后,保存退出。

export PATH=$PATH:~/share/esp/xtensa-lx106-elf/bin

修改后如图。
在这里插入图片描述

重启ubuntu后,使用printenv PATH可以查看到PATH变量的修改已经生效。

 printenv PATH

效果举例
在这里插入图片描述

注意:
1.工具链的路径不要写错
2.重启后PATH的修改才会生效

3.获取SDK

3.1下载SDK

获取SDK可以直接使用乐鑫官网的git仓库获取。直达链接:乐鑫官方SDK链接
或者使用指令:(需先按照git)

git clone --recursive https://github.com/espressif/ESP8266_RTOS_SDK.git

我把SDK下载到~/share/esp目录下。

3.2配置IDF_PATH环境变量

IDF_PATH的配置为SDK的绝对路径
可以修改~/.profile文件来实现。
操作参考指令:

sudo vi ~/.profile

在文件末尾输入一下指令后,保存退出。其中~/share/esp/ESP8266_RTOS_SDK为SDK路径。

export IDF_PATH=~/share/esp/ESP8266_RTOS_SDK

配置完成后如图。
在这里插入图片描述

同样重启ubuntu后,才会生效。

3.3安装所需要的Python包

ESP8266_RTOS_SDK 所需的 Python 包位于该目录下的requirements.txt文件中。
$IDF_PATH为SDK的路径。
参考指令:

python -m pip install --user -r $IDF_PATH/requirements.txt

python --version查看python的版本,如版本为2.7,指令可修改为python2.7 -m pip install --user -r $IDF_PATH/requirements.txt
如果提示没有找到pip,百度安装一下pip即可。(可能需要先安装Python高版本再装pip)

3.4 hello world编译测试

hello world测试工程再SDK的/examples/get-started/hello_world目录下。
复制一份出来到SDK的跟目录,用于测试。
参考指令:

cd ~/share/esp/ESP8266_RTOS_SDK/
cp -r examples/get-started/hello_world/ ./

进入hello world 测试工程,输入make进行编译。

cd hello_world/
make

第一次编译时间较长,等待编译完成即可。
在这里插入图片描述
如果前面的环境配置正确,编译成功截图:至此说明SDK配置正确。
在这里插入图片描述
如果编译失败,根据报错信息进行检查
可能原因:
1.检查PATH及IDF_PATH路径是否填写准确
2.如果是找不到xxx.c或.o,可能是SDK工程不完整,尤其是子模块。补充子模块或者删除了重新再克隆一次SDK
3.注意安装Python环境及pip

3.5 配置烧录信息

输入指令

 make menuconfig

会进入一个类似图形化的配置界面。如下图。
在这里插入图片描述
可以根据提示配置对应的消息,如串口,波特率等。我使用的开发板保持默认即可。
如果输入指令后报错,报错原因一般是缺少linux相关组件。直接百度报错提示的缺项,参考收到的操作安装即可。这里截图,举例如下。
在这里插入图片描述

4.烧录及调试

4.1烧录

将开发板串口连接到电脑.
注意虚拟机左下角,要选择串口连接到虚拟机。在这里插入图片描述

以hello world工程为例,输入指令:

make flash

等待烧录完成即可。
烧录完成截图

错误分析:
如下图错误
在这里插入图片描述
1.可能是没有连接串口
ls /dev/tty*查看是否连接,默认串口端口是/dev/ttyUSB0。我后面重新连接了,输入ls /dev/ttyU*,就显示出来了

nanshou@nanshou-virtual-machine:~/myshare/ESP8266_RTOS_SDK/hello_world$ ls /dev/tty*
/dev/tty    /dev/tty14  /dev/tty20  /dev/tty27  /dev/tty33  /dev/tty4   /dev/tty46  /dev/tty52  /dev/tty59  /dev/tty8       /dev/ttyS12  /dev/ttyS19  /dev/ttyS25  /dev/ttyS31
/dev/tty0   /dev/tty15  /dev/tty21  /dev/tty28  /dev/tty34  /dev/tty40  /dev/tty47  /dev/tty53  /dev/tty6   /dev/tty9       /dev/ttyS13  /dev/ttyS2   /dev/ttyS26  /dev/ttyS4
/dev/tty1   /dev/tty16  /dev/tty22  /dev/tty29  /dev/tty35  /dev/tty41  /dev/tty48  /dev/tty54  /dev/tty60  /dev/ttyprintk  /dev/ttyS14  /dev/ttyS20  /dev/ttyS27  /dev/ttyS5
/dev/tty10  /dev/tty17  /dev/tty23  /dev/tty3   /dev/tty36  /dev/tty42  /dev/tty49  /dev/tty55  /dev/tty61  /dev/ttyS0      /dev/ttyS15  /dev/ttyS21  /dev/ttyS28  /dev/ttyS6
/dev/tty11  /dev/tty18  /dev/tty24  /dev/tty30  /dev/tty37  /dev/tty43  /dev/tty5   /dev/tty56  /dev/tty62  /dev/ttyS1      /dev/ttyS16  /dev/ttyS22  /dev/ttyS29  /dev/ttyS7
/dev/tty12  /dev/tty19  /dev/tty25  /dev/tty31  /dev/tty38  /dev/tty44  /dev/tty50  /dev/tty57  /dev/tty63  /dev/ttyS10     /dev/ttyS17  /dev/ttyS23  /dev/ttyS3   /dev/ttyS8
/dev/tty13  /dev/tty2   /dev/tty26  /dev/tty32  /dev/tty39  /dev/tty45  /dev/tty51  /dev/tty58  /dev/tty7   /dev/ttyS11     /dev/ttyS18  /dev/ttyS24  /dev/ttyS30  /dev/ttyS9
nanshou@nanshou-virtual-machine:~/myshare/ESP8266_RTOS_SDK/hello_world$ ls /dev/ttyU*
ls: 无法访问'/dev/ttyU*': 没有那个文件或目录
nanshou@nanshou-virtual-machine:~/myshare/ESP8266_RTOS_SDK/hello_world$ ls /dev/ttyU*
/dev/ttyUSB0
nanshou@nanshou-virtual-machine:~/myshare/ESP8266_RTOS_SDK/hello_world$ ^C
nanshou@nanshou-virtual-machine:~/myshare/ESP8266_RTOS_SDK/hello_world$

2.没给串口权限
设置权限:
单次权限:sudo chmod 666 /dev/ttyUSB0
永久权限:
[username]为用户名,直接将当前用户加入dialout用户组。

sudo usermod -aG dialout [username]

4.2 调试

使用如下指令,打开调试窗口。

make monitor

monitor的默认波特率是 74880,可以理解为linux环境下的串口调试工具。
打开成功后有如下字样。调试信息会打印一系列设备信息,ps:此工程正常运行后,打印的第一行信息是白色的“hello world!”字样
在这里插入图片描述

结束语:

其他问题欢迎留言讨论,看到了必回。
如果有帮助的话,请不要吝啬点赞。
感谢您的阅读。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值