Arch下ESP8266开发环境搭建篇
时间:2022-07-28
本文章向大家介绍Arch下ESP8266开发环境搭建篇,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
https://docs.espressif.com/projects/esp8266-rtos-sdk/en/latest/get-started/index.html
使用基于Espressif ESP8266EX的硬件来设置用于开发应用程序的软件环境。通过一个简单的示例,我们想说明如何使用ESP8266_RTOS_SDK(ESP-IDF风格),包括基于菜单的配置,编译ESP8266_RTOS_SDK以及将固件下载到ESP8266EX板上。
ESP8266EX微控制器集成了Tensilica L106 32位RISC处理器,可实现极低的功耗并达到160 MHz的最大时钟速度。实时操作系统(RTOS)和Wi-Fi堆栈使大约80%的处理能力可用于用户应用程序编程和开发。
要为ESP8266EX开发应用程序,您需要:
- 装有Windows,Linux或Mac操作系统的PC
- 工具链构建ESP8266EX的应用程序
- ESP8266_RTOS_SDK本质上包含ESP8266EX的API和用于操作工具链的脚本
- 文本编辑器,用C语言编写程序(Projects),例如vscode,escaplisw
- 该ESP8266EX板本身和一个USB电缆将其连接到PC
ESP8266EX的应用开发
准备开发环境包括三个步骤:
- 工具链的设置
- 从GitHub获取ESP8266_RTOS_SDK
- Eclipse的安装和配置
如果您希望使用其他编辑器,则可以跳过最后一步。
设置好环境后,您就可以开始最有趣的部分-应用程序开发了。此过程可以概括为四个步骤:
- 配置项目并编写代码
- 项目的编译并将其链接以构建应用程序
- 将应用程序刷入(上传)到ESP8266EX
- 监视/调试应用程序
Linux工具链的标准设置
安装先决条件
要使用ESP8266_RTOS_SDK进行编译,您需要获取以下包:
sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pyserial
安装一下库文件
成功
https://dl.espressif.com/dl/xtensa-lx106-elf-linux64-1.22.0-100-ge567ec7-5.2.0.tar.gz
这个叫工具链好像是
看看在哪里
解压
命令写上
mkdir -p ~/esp
cd ~/esp
tar -xzf ~/Downloads/xtensa-lx106-elf-linux64-1.22.0-100-ge567ec7-5.2.0.tar.gz
解压的样子
- 工具链将被提取到~/esp/xtensa-lx106-elf/目录中。要使用它,您将需要更新文件中的PATH环境变量~/.profile。要使xtensa-lx106-elf所有终端会话都可用,请在~/.profile文件中添加以下行:export PATH="PATH:HOME/esp/xtensa-lx106-elf/bin"'然后,当您需要工具链时,可以get_lx106在命令行上键入,该工具链将添加到您的PATH。注意如果您已/bin/bash设置为登录shell,都.bash_profile和.profile存在,则更新.bash_profile替代。
- 注销并重新登录以使
.profile
更改生效。运行以下命令以验证是否PATH
正确设置: printenv PATH
克隆了SDK下来
要获取本地副本,请执行以下操作:打开终端,导航至要放置ESP8266_RTOS_SDK的目录,然后使用以下命令克隆存储库:git
clone
cd ~/esp
git clone --recursive https://github.com/espressif/ESP8266_RTOS_SDK.git
ESP8266_RTOS_SDK会下载到~/esp/ESP8266_RTOS_SDK
。
注意
该命令将克隆master分支,该分支具有ESP8266_RTOS_SDK的最新开发版本(“出血边缘”)。它具有全部功能,并且每周都会更新,并具有最新功能和错误修正。
工具链的样子
上面是在配置环境变量
sudo nano /etc/profiles
然后自己往里面写东西/,记得save
然后source 强制写入
printenv PATH
看一下成功没有
- 【Go 语言社区】www.golangweb.com通过工信部审核,正式挂牌社区域名
- golang 算法课程 正式开课--第一季 第1节
- 在 Mac OS X 装不上 TensorFlow?看了这篇就会装
- 利用python内置函数,快速统计单词在文本中出现的次数
- 物化视图刷新结合ADG的尝试(二)(r8笔记第57天)
- python 下利用os模块创建目录以及巧妙使用if not os.path.exits()创建
- Python读取json文件,并转化为字典进行提取字段(出现索引must be int,not str)解决方案
- Python 把字典的key和value的值取出来,按照顺序存入到list中
- Go语言 如果实现http重连?
- python strip()函数 删除字符串中无空白字符或者是无用字符
- 闪回归档的简单测试(r8笔记第68天)
- sql语句查询到整个数据库的容量
- 神奇的go语言
- 备库查询导致的ORA-01110错误及修复(r8笔记第67天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 如何无痛的为你的前端项目引入多线程
- 阔别两年,webpack 5 正式发布了!
- NumPy 数据归一化、可视化
- 迭代器怎么就节省内存了?
- Go 多版本管理
- 空谈分布式系统设计之幂等性
- 空谈发件箱模式(outbox pattern)
- 《一起学sentinel》六、Slot的子类及实现之FlowSlot和DegradeSlot
- Hive UDF/UDAF 总结
- 3分钟短文:用Laravel发一封“漂洋过海”的电子邮件
- leetcode之单词替换
- KMP算法分析
- Spring Boot 系列:最新版优雅停机详解
- 前端学数据结构与算法(八): 单词前缀匹配神器-Trie树的实现及其应用
- 突击并发编程JUC系列-Locksupport 与 Condition