概述
以安信可的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!”字样
结束语:
其他问题欢迎留言讨论,看到了必回。
如果有帮助的话,请不要吝啬点赞。
感谢您的阅读。
最后
以上就是含蓄夏天为你收集整理的【ESP8266】详细步骤-SDK开发环境搭建(Linux)的全部内容,希望文章能够帮你解决【ESP8266】详细步骤-SDK开发环境搭建(Linux)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复