ESP8266_Linux环境搭建
工具链设置
适用于 Linux 的 ESP8266 工具链可从 Espressif 网站下载:
对于 64 位 Linux:
https://dl.espressif.com/dl/xtensa-lx106-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz
对于 32 位 Linux:
https://dl.espressif.com/dl/xtensa-lx106-elf-gcc8_4_0-esp-2020r3-linux-i686.tar.gz
1. 下载此文件,然后将其解压缩到~/esp目录中(不能在widsows下解压!!!):
mkdir -p ~/espcd ~/esptar -xzf ~/Downloads/xtensa-lx106-elf-linux64-1.22.0-100-ge567ec7-5.2.0.tar.gz
2. 工具链将被提取到~/esp/xtensa-lx106-elf/目录中。
要使用它,您需要更新文件PATH中的环境变量/.profile。要使xtensa-lx106-elf所有终端会话可用,请将以下行添加到您的/.profile文件中(也可以再~/.bashrc中添加化境变量):
export PATH="$PATH:$HOME/esp/xtensa-lx106-elf/bin"
或者,您可以为上述命令创建一个别名。这样您就可以仅在需要时获取工具链。为此,请在~/.profile文件中添加不同的行:
alias get_lx106='export PATH="$PATH:$HOME/esp/xtensa-lx106-elf/bin"'
然后,当您需要工具链时,您可以get_lx106在命令行中键入,工具链将添加到您的PATH.
笔记
如果您已/bin/bash设置为登录 shell,并且两者都.bash_profile存在.profile,则.bash_profile改为更新。
3.注销并重新登录以使.profile更改生效。运行以下命令来验证是否PATH设置正确:>
printenv PATH
您正在寻找在显示字符串末尾包含工具链路径的类似结果:
$ printenv PATH/home/user-name/bin:/home/user-name/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/user-name/esp/xtense-lx106-elf/bin
而不是/home/user-name应该有一个特定于您的安装的主路径
获取 ESP8266_RTOS_SDK
除了工具链(包含编译和构建应用程序的程序)之外,您还需要 ESP8266 特定的 API / 库。它们由 Espressif 在ESP8266_RTOS_SDK 存储库中提供。
要获取本地副本:打开终端,导航到要放置 ESP8266_RTOS_SDK 的目录,然后使用命令克隆存储库:git clone
cd ~/espgit clone --recursive https://github.com/espressif/ESP8266_RTOS_SDK.gitESP8266_RTOS_SDK 将被下载到~/esp/ESP8266_RTOS_SDK.
笔记
此命令将克隆 master 分支,该分支具有 ESP8266_RTOS_SDK 的最新开发(“前沿”)版本。它功能齐全,每周更新一次,包含最新的功能和错误修复。
笔记
GitHub 的“下载 zip 文件”功能不适用于 ESP8266_RTOS_SDK>,a是必需的。作为后备,可以在没有 Git 的情况下安装稳定版。git clone
开始一个项目
现在您已准备好为 ESP8266 准备应用程序。
为了快速开始,我们将使用IDF示例目录中的get-started/hello_world项目。
将get-started/hello_world复制到~/esp目录:
注意:如果电脑没有安装python,还需要安装python环境
安装:
sudo apt-get install python3.10
sudo apt-get install pip
升级pip版本:
pip3 install --upgrade pip
安装此SDK需要的依赖库
/usr/bin/python -m pip install --user -r /home/gin/ESP8266_RTOS_SDK/requirements.txt
可能会报错找不到python,因为新的python用的是python3
需要自己去软连接一下 ,sudo ln -s /bin/python3 /bin/python
具体路径根据实际修改
cd ~/espcp -r $IDF_PATH/examples/get-started/hello_world .
解释: 复制文件夹到当前目录并更新所有文件的时间戳
您还可以在 ESP-IDF的示例目录下找到一系列示例项目。这些示例项目目录可以按照上述相同的方式进行复制,以开始您自己的项目。
重要的
ESP8266_RTOS_SDK 构建系统不支持 ESP8266_RTOS_SDK 或项目路径中的空格。
连接8266开发板
你快到了。为了能够进一步进行,将 ESP8266 开发板连接到 PC,检查开发板在哪个串行端口下可见,并验证串行通信是否正常。记下端口号,因为下一步需要它。
配置
hello_world在终端窗口中,通过键入转到应用程序目录。然后启动项目配置实用程序:
主要步骤:cd ~/esp/hello_world menuconfig
cd ~/esp/hello_worldmake menuconfig
如果报错里面有python等字样,那就是python环境没配置好
而且,menuconfig 需要安装ncurse库
sudo apt-get install ncursesmenuconfig 打不开的原因总结:
python及其依赖没有安装好
不能在windsows下解压工具链
makefile 的IDF_PATH 没有配置
tool_chain路径不能出现两个‘_’的名称,之前我的toolchain写的是esp_tool_chain,编译就找不到编译器,换成esp_toolchain就可以了
menuconfig之前还需要的一些工具:
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install gperf
如果make menuconfig 之后报错说no rule 啥的,是因为makefile 里面没有添加IDF_PATH,也就是SDK的路径,可以修改makefile>
Bild和Flash
现在您可以构建并刷新应用程序。run:
make flash
执行之后提示找不到编译工具链>,可以在menuconfig 的工具链配置一栏设置工具链的路径
这将编译应用程序和所有 ESP8266_RTOS_SDK 组件,生成引导加载程序、分区表和应用程序二进制文件,并将这些二进制文件闪存到您的 ESP8266 板。
esptool.py v2.4.0
Flashing binaries to serial port /dev/ttyUSB0 (app at offset 0x10000)…
esptool.py v2.4.0
Connecting…
Chip is ESP8266EX
Features: WiFi
MAC: ec:fa:bc:1d:33:2d
Uploading stub…
Running stub…
Stub running…
Configuring flash size…
Compressed 7952 bytes to 5488…
Wrote 7952 bytes (5488 compressed) at 0x00000000 in 0.5 seconds (effective 129.9 kbit/s)…
Hash of data verified.
Compressed 234800 bytes to 162889…
Wrote 234800 bytes (162889 compressed) at 0x00010000 in 14.4 seconds (effective 130.6 kbit/s)…
Hash of data verified.
Compressed 3072 bytes to 83…
Wrote 3072 bytes (83 compressed) at 0x00008000 in 0.0 seconds (effective 1789.8 kbit/s)…
Hash of data verified.
Leaving…
Hard resetting via RTS pin…
如果没有问题,在构建过程结束时,您应该会看到描述加载过程进度的消息。最后,结束模块将被重置,“hello_world”应用程序将启动。
监视器
要查看“hello_world”应用程序是否确实在运行,请键入。make monitor
$ make monitor MONITOR — idf_monitor on /dev/ttyUSB0 74880 — — 退出:Ctrl+] | 菜单:Ctrl+T | 帮助:Ctrl+T 然后是 Ctrl+H —
ets 2013 年 1 月 8 日,第一个原因:1,启动模式:(3,6)load 0x40100000, len 4400, room 16 0x40100000: _stext at ??:?tail 0 chksum 0x6f load 0x3ffe8408, len 3516, room 8 tail 4 chksum 0x5d …
下面几行,在启动和诊断日志之后,您应该看到应用程序打印出“SDK 版本:xxxxxxx”。
...SDK version:v3.1-dev-311-g824cd8c8-dirty
要退出监视器,请使用快捷方式Ctrl+]。
笔记
如果您看到的不是上面的消息,而是类似于以下内容的随机垃圾:e���)([email protected]�y.!��(�PW+)��Hn9a/9�!�t5��P�~�k��e�ea�5�jA~zY��Y(1�,1�� e���)([email protected]�y.!Dr�zY(�jpi�|�+z5Ymvp
要一次性执行,请键入:
make flash make monitor make flash monitor
这就是您开始使用 ESP8266 所需的一切!
现在您已准备好尝试一些其他示例,或者直接开发您自己的应用程序。
环境变量
似于以下内容的随机垃圾:
e���)([email protected]�y.!��(�PW+)��Hn9a/9�!�t5��P�~�k��e�ea�5�jA~zY��Y(1�,1�� e���)([email protected]�y.!Dr�zY(�jpi�|�+z5Ymvp
要一次性执行,请键入:
make flash make monitor make flash monitor
这就是您开始使用 ESP8266 所需的一切!
现在您已准备好尝试一些其他示例,或者直接开发您自己的应用程序。
环境变量
ESP8266_Linux环境搭建相关推荐
- Anaconda3+python3.7.10+TensorFlow2.3.0+PyQt5环境搭建
Anaconda3+python3.7.10+TensorFlow2.3.0+PyQt5环境搭建 一.Anaconda 创建 python3.7环境 1.进入 C:\Users\用户名 目录下,找到 ...
- Windows10+Anaconda3+Pycharm环境搭建
Windows10+Anaconda3+Pycharm环境搭建 一.安装Anaconda3 1.进入 anconda官网,下载Anaconda3 2.安装,选项默认继续安装(可以自行更改安装位置),等 ...
- SpringCloud Alibaba微服务实战(一) - 基础环境搭建
说在前面 Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案.此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来 ...
- 2021年大数据环境搭建(二):分布式环境搭建
2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习. 有对大数据感兴趣的可以关注微信公众号:三帮大数据 目录 分布式环境搭建 集群规 ...
- 2021年大数据Spark(八):环境搭建集群模式 Standalone HA
环境搭建-Standalone HA 高可用HA Spark Standalone集群是Master-Slaves架构的集群模式,和大部分的Master-Slaves结构集群一样,存在着Master单 ...
- 2021年大数据Spark(六):环境搭建集群模式 Standalone
目录 环境搭建-Standalone 前言 Standalone 架构 集群规划 修改配置并分发 修改slaves 分发到其他机器 修改spark-env.sh 集群启动和 ...
- CentOS7环境搭建使用PhpStorm上传代码
一.虚拟机介绍 虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的.运行在一个完全隔离环境中的完整计算机系统. 虚拟系统通过生成现有操作系统的全新虚拟镜像,它具有真实win ...
- window10 系统上 ecplise 环境搭建
ecplise 安装需要用到 JDK 环境的搭建以及ecplise 的下载 这两部完成即可 一: JDK环境搭建 到官网上下载JDK并且安装即可(下载的时候注意选择Accept License Ag ...
- centOS7 LNMP+phpmyadmin环境搭建 第三篇phpmyadmin安装
这篇文章主要介绍了CentOS7 LNMP+phpmyadmin环境搭建,第三篇phpmyadmin安装,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 之前我们已经安装了lnmp的环境,现在让我们 ...
最新文章
- html5-Canvas绘图
- 边缘计算架构_更灵活的自动化系统架构、通信和编程——在自动化领域部署边缘计算...
- 深度学习在搜索和推荐领域的应用
- Python 输入一些数,统计最大值及其出现的频率,求一个数的全部质因数
- kali安装后的基本配置
- (十七)Activitivi5之组任务分配
- mfc mfc100ud.dll丢失问题
- docker 卸载镜像_docker删除所有容器和镜像命令
- Android – ListView 中添加按钮,动态删除添加ItemView的操作
- 判定两个点是否在一条直线的同一侧_高中物理的常用方法、题型特点及应用注意点,不看很吃亏...
- 程序员代码对比工具,就用这7个!
- 一种使用Python计算可达矩阵的简单方法
- threejs开启对数深度缓存区时、着色器深度混乱
- java结业作业_学习平台-北语201606考试批次《JAVA语言程序设计》(结课作业)答案-成人高等教育_成人本科教育报名_远程网络教育学院-江苏学历网报名服务中心...
- 谷歌是如何跌下神坛的?
- python猫抓老鼠_利用python如何实现猫捉老鼠小游戏
- 【python-docx 05】操作页眉和页脚
- 云原生CICD:Tekton之TaskTaskRun概念篇
- yolov5模型训练流程
- linux下最好的chm阅读器KchmViewer,安装使用/与oklular,xCHM,gnochm简单比较